3 #include <boost/utility/enable_if.hpp>
4 #include "hate/type_list.h"
16 template <
typename Coordinates>
37 class CorrelationResetRow;
40 class SynapseCorrelationCalibRow;
41 class SynapseCorrelationCalibMatrix;
42 class SynapseLabelMatrix;
43 class SynapseLabelRow;
46 class SynapseWeightMatrix;
47 class SynapseWeightRow;
70 template <
typename T,
typename =
void>
75 struct IsWriteable<T, typename boost::enable_if_has_type<decltype(T::config_size_in_words)>::type>
76 :
public std::true_type
82 typename boost::enable_if_has_type<decltype(T::write_config_size_in_words)>::type>
84 constexpr
static bool value = T::write_config_size_in_words;
87 typedef hate::type_list<
88 lola::vx::CorrelationResetRow,
90 lola::vx::SynapseMatrix,
91 lola::vx::SynapseWeightMatrix,
92 lola::vx::SynapseLabelMatrix,
93 lola::vx::SynapseCorrelationCalibMatrix,
94 lola::vx::SynapseWeightRow,
95 lola::vx::SynapseLabelRow,
96 lola::vx::SynapseCorrelationCalibRow,
100 lola::vx::v2::AtomicNeuron,
107 lola::vx::v3::AtomicNeuron,
114 template <
typename T>
117 std::enable_if_t<hate::is_in_type_list<T, NonLeafNodeWriteableContainerList>::value>>
hate::type_list< lola::vx::CorrelationResetRow, lola::vx::SynapseRow, lola::vx::SynapseMatrix, lola::vx::SynapseWeightMatrix, lola::vx::SynapseLabelMatrix, lola::vx::SynapseCorrelationCalibMatrix, lola::vx::SynapseWeightRow, lola::vx::SynapseLabelRow, lola::vx::SynapseCorrelationCalibRow, v2::PPUMemoryBlock, v2::PPUMemory, v2::CapMemBlock, lola::vx::v2::AtomicNeuron, lola::vx::v2::DACChannelBlock, lola::vx::v2::DACControlBlock, lola::vx::v2::ExternalPPUMemoryBlock, v3::PPUMemoryBlock, v3::PPUMemory, v3::CapMemBlock, lola::vx::v3::AtomicNeuron, lola::vx::v3::DACChannelBlock, lola::vx::v3::DACControlBlock, lola::vx::v3::ExternalPPUMemoryBlock > NonLeafNodeWriteableContainerList
haldls::vx::CapMemBlock< halco::hicann_dls::vx::v2::Coordinates > CapMemBlock
haldls::vx::PPUMemory PPUMemory
haldls::vx::PPUMemoryBlock PPUMemoryBlock
haldls::vx::PPUMemory PPUMemory
haldls::vx::CapMemBlock< halco::hicann_dls::vx::v3::Coordinates > CapMemBlock
haldls::vx::PPUMemoryBlock PPUMemoryBlock
lola::vx::DACControlBlock DACControlBlock
lola::vx::ExternalPPUMemoryBlock ExternalPPUMemoryBlock
lola::vx::DACChannelBlock DACChannelBlock
lola::vx::DACControlBlock DACControlBlock
lola::vx::ExternalPPUMemoryBlock ExternalPPUMemoryBlock
lola::vx::DACChannelBlock DACChannelBlock