28#include <unordered_map>
std::istream & operator>>(std::istream &stream, MessageHeader &header)
Get message header from an input stream.
bool operator==(const SpikeMessage &sm1, const SpikeMessage &sm2)
Check if two spike messages are the same.
std::ostream & operator<<(std::ostream &stream, const MessageHeader &header)
Send message header to an output stream.
OutputType
Types of synapses. This parameter is used for projection-population interaction.
Enumeration of different ways that a synaptic impact may influence a neuron.
Structure of the synaptic impact message.
bool is_forcing_
Boolean value that defines whether the signal is from a projection without plasticity.
UID presynaptic_population_uid_
UID of the population that sends spikes to the projection.
std::vector< SynapticImpact > impacts_
Impact values.
UID postsynaptic_population_uid_
UID of the population that receives impacts from the projection.
MessageHeader header_
Message header.
Structure that contains the synaptic impact value and indexes of presynaptic and postsynaptic neurons...
bool operator==(const SynapticImpact &) const
Compare synaptic impact messages.
uint32_t postsynaptic_neuron_index_
Index of the postsynaptic neuron connected to the synapse.
uint32_t presynaptic_neuron_index_
Index of the presynaptic neuron connected to the synapse.
knp::synapse_traits::OutputType synapse_type_
Synapse type that might define the value role inside the neuron function.
uint64_t connection_index_
Index of the population synapse.
float impact_value_
Value used to change neuron membrane potential.