A storage of scheduled Events to be delivered at a later point in the simulation. More...
#include <ScheduledEventsQueue.h>
Classes | |
| struct | Node |
| Structure which stores the index of the spike target group and a pointer to the next element in various lists. More... | |
| class | NodeCompare |
Public Member Functions | |
| ScheduledEventsQueue (int chunkSize=EVENT_BUFFER_CHUNK_SIZE) | |
| Constructor of a queue of scheduled events. | |
| virtual | ~ScheduledEventsQueue () |
| Destructor: Deletes all scheduled spikes. | |
| void | scheduleEvent (event_target_group_id_t etg, Time t) |
| Schedule a group of event targets to get an event at time t. | |
| Node * | top () |
| Time | topTime () |
| void | pop () |
| void | reset () |
| Must be called at the begin (reset) of a simulation. | |
| bool | empty () const |
| returns true if the queue is empty. | |
Protected Member Functions | |
| void | init () |
| Set up internal memory management. | |
| Node * | getFreeNode (void) |
| Get a new Node from the internal memory management. | |
Protected Attributes | |
|
priority_queue< Node *, vector < Node * >, NodeCompare > | event_queue |
| vector< Node * > | chunkBuffer |
| Buffer with pointers to chunks of memory allocated. | |
| Node * | currentFreeChunk |
| Pointer to array of Nodes to take from (from position nextFreeNodeIdx). | |
| int | nextFreeNodeIdx |
| Index into array currentFreeChunk which specifies the next Node to use. | |
| size_t | nextFreeChunkIdx |
| Index into chunkBuffer which specifies the next free chunk of memory to use. | |
| Node * | recycledNodes |
| Head of list of Nodes which can be reused. | |
| int | chunkSize |
| Number of Nodes per chunk of memory to allocate. | |
| double | fillitup [32] |
A storage of scheduled Events to be delivered at a later point in the simulation.
| void ScheduledEventsQueue::scheduleEvent | ( | event_target_group_id_t | etg, | |
| Time | t | |||
| ) | [inline] |
Schedule a group of event targets to get an event at time t.
| etg | The identifier of the event target group to be used as identifier in EventTargetGroupPool::beginEventTarget( Etg ) | |
| t | The time stamp of the event |
1.7.1