GlobalSingleTargetDelayMap.h

Go to the documentation of this file.
00001 #ifndef GLOBALSINGLETARGETDELAYMAP_H_
00002 #define GLOBALSINGLETARGETDELAYMAP_H_
00003 
00004 #include "globaldefinitions.h"
00005 #include <map>
00006 #include <vector>
00007 #include "pcsim_hash.h"
00008 
00009 using std::map;
00010 using std::vector;
00011 using std::pair;
00012 
00025 class GlobalSingleTargetDelayMap
00026 {
00027 public:
00028 
00029     typedef map<delaystep_t, spikegroupid_t> delaymaptype;
00030 
00032     typedef delaymaptype::const_iterator const_iterator;
00033 
00034     GlobalSingleTargetDelayMap();
00035 
00036     virtual ~GlobalSingleTargetDelayMap();
00037 
00039     void insert(gl_engineid_t eng, local_objectid_t oid, delaystep_t delay, spikegroupid_t stg);
00040 
00042 
00045     spikegroupid_t find(gl_engineid_t eng, local_objectid_t oid, delaystep_t delay);
00046 
00048     bool hasDelays(gl_engineid_t eng, local_objectid_t oid);
00049 
00051     const_iterator beginDelays(gl_engineid_t eng, local_objectid_t oid);
00052 
00054     const_iterator endDelays(gl_engineid_t eng, local_objectid_t oid);
00055 
00056 protected:
00057 
00058     // Data structure for holding: [global_eid][localid] -> pairs(delay, spiketargetgroup)
00059     vector< hash_map<local_objectid_t, delaymaptype > > _map;
00060 
00061 };
00062 
00063 #endif /*GLOBALSINGLETARGETDELAYMAP_H_*/

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