LocalDelayMap Class Reference

Spike routing table for scheduling of spikes within one single thread engine. More...

#include <LocalDelayMap.h>

Collaboration diagram for LocalDelayMap:

Collaboration graph
[legend]

List of all members.

Public Types

typedef map< delaystep_t,
spikegroupid_t
delaymaptype
typedef
delaymaptype::const_iterator 
const_iterator

Public Member Functions

 LocalDelayMap ()
virtual ~LocalDelayMap ()
void insert (local_objectid_t localid, delaystep_t delay, spikegroupid_t group)
 Inserts new entry in the map [localid]->(delay,spiketargetgroup).
spikegroupid_t find (local_objectid_t oid, delaystep_t delay)
 Checks if there is an entry for the specified sending object and the delay.
const_iterator beginDelays (local_objectid_t localid)
 Returns a begin iterator which can serve to iterate through all (delay, stg) pairs.
const_iterator endDelays (local_objectid_t localid)
 Returns an end iterator which can serve to iterate through all (delay, stg) pairs.

Protected Member Functions

void resize (local_objectid_t localid)

Protected Attributes

vector< delaymaptype_map


Detailed Description

Spike routing table for scheduling of spikes within one single thread engine.

For each spike sending object identified by localid, the delay map stores many (delay, spike_target_group) pairs.

For a spiking connection with delay D between object A and object B which are in the same engine, an entry is added in the the map [A]->(D, STG) where the spike target group contains B. If there is already an entry [A]->(D, X) then B is added to X spike target group.

It is used by the SingleThreadSpikeScheduler for scheduling of spikes in the PropagatedSpikeBuffer.

See also:
SingleThreadSpikeScheduler, PropagatedSpikeBuffer.

Definition at line 28 of file LocalDelayMap.h.


Member Typedef Documentation

Definition at line 33 of file LocalDelayMap.h.

typedef delaymaptype::const_iterator LocalDelayMap::const_iterator

Definition at line 36 of file LocalDelayMap.h.


Constructor & Destructor Documentation

LocalDelayMap::LocalDelayMap (  )  [inline]

Definition at line 38 of file LocalDelayMap.h.

virtual LocalDelayMap::~LocalDelayMap (  )  [inline, virtual]

Definition at line 40 of file LocalDelayMap.h.


Member Function Documentation

void LocalDelayMap::insert ( local_objectid_t  localid,
delaystep_t  delay,
spikegroupid_t  group 
) [inline]

Inserts new entry in the map [localid]->(delay,spiketargetgroup).

Definition at line 43 of file LocalDelayMap.h.

References _map, and resize().

Referenced by SingleThreadNetwork::addLocalSpikeMessage().

Here is the call graph for this function:

spikegroupid_t LocalDelayMap::find ( local_objectid_t  oid,
delaystep_t  delay 
)

Checks if there is an entry for the specified sending object and the delay.

Returns:
the STG id if there is an entry, and no_spikegroup otherwise.

Definition at line 3 of file LocalDelayMap.cpp.

References _map, and no_spikegroup.

Referenced by SingleThreadNetwork::addLocalSpikeMessage().

const_iterator LocalDelayMap::beginDelays ( local_objectid_t  localid  )  [inline]

Returns a begin iterator which can serve to iterate through all (delay, stg) pairs.

Definition at line 56 of file LocalDelayMap.h.

References _map, and resize().

Referenced by SingleThreadSpikeScheduler::scheduleSpike().

Here is the call graph for this function:

const_iterator LocalDelayMap::endDelays ( local_objectid_t  localid  )  [inline]

Returns an end iterator which can serve to iterate through all (delay, stg) pairs.

Definition at line 63 of file LocalDelayMap.h.

References _map, and resize().

Referenced by SingleThreadSpikeScheduler::scheduleSpike().

Here is the call graph for this function:

void LocalDelayMap::resize ( local_objectid_t  localid  )  [inline, protected]

Definition at line 71 of file LocalDelayMap.h.

References _map.

Referenced by beginDelays(), endDelays(), and insert().


Member Data Documentation

vector< delaymaptype > LocalDelayMap::_map [protected]

Definition at line 76 of file LocalDelayMap.h.

Referenced by beginDelays(), endDelays(), find(), insert(), and resize().


The documentation for this class was generated from the following files:

Generated on Wed Jul 9 16:34:51 2008 for PCSIM by  doxygen 1.5.5