51 #ifndef _SPIKE_BUFFER_H_ 52 #define _SPIKE_BUFFER_H_ 109 return _node->neurId;
113 return (_node == other._node);
117 return (_node != other._node);
149 void reset(
int minDelay,
int maxDelay);
int grpId
corresponding global group Id
void schedule(int neurId, int grpId, unsigned short int delay)
Schedule a spike.
Iterator to loop over the scheduled spikes at a certain delay.
size_t length()
retrieve actual length of the buffer
Circular buffer for delivering spikes.
unsigned short int delay
scheduling delay (in number of time steps)
bool operator!=(const SpikeIterator &other)
SpikeIterator * operator++()
SpikeIterator back()
pointer to the back of the spike buffer
SpikeIterator(SpikeNode *n)
linked list to hold the corresponding neuron Id and delivery delay for each spike ...
SpikeNode * next
pointer to the next element in the list
void reset(int minDelay, int maxDelay)
Reset buffer data.
bool operator==(const SpikeIterator &other)
int neurId
corresponding global neuron Id
SpikeBuffer(int minDelay, int maxDelay)
SpikeBuffer Constructor.
void step()
advance to next time step
~SpikeBuffer()
SpikeBuffer Destructor.
SpikeIterator front(int stepOffset=0)
pointer to the front of the spike buffer