NEURON
coreneuron::TQueue< C > Class Template Reference

#include <tqueue.hpp>

Public Types

enum  qtype { enq = 0 , spike , ite , deq }
 Types of queuing statistics. More...
 

Public Member Functions

 TQueue ()
 
 ~TQueue ()
 
TQItemleast ()
 
TQIteminsert (double t, DiscreteEvent *data)
 
TQItemenqueue_bin (double t, DiscreteEvent *data)
 
TQItemdequeue_bin ()
 
void shift_bin (double _t_)
 
TQItemtop ()
 
TQItematomic_dq (double til)
 
void remove (TQItem *)
 
void move (TQItem *, double tnew)
 

Public Attributes

int nshift_
 
std::priority_queue< TQPair, std::vector< TQPair >, less_timepq_que_
 Priority queue of vectors for queuing the events. More...
 
BinQbinq_
 

Private Member Functions

double least_t_nolock ()
 
void move_least_nolock (double tnew)
 
TQPair make_TQPair (TQItem *p)
 

Private Attributes

SPTREEsptree_
 
TQItemleast_
 

Detailed Description

template<container C = spltree>
class coreneuron::TQueue< C >

Definition at line 123 of file tqueue.hpp.

Member Enumeration Documentation

◆ qtype

template<container C = spltree>
enum coreneuron::TQueue::qtype

Types of queuing statistics.

Enumerator
enq 
spike 
ite 
deq 

Definition at line 153 of file tqueue.hpp.

Constructor & Destructor Documentation

◆ TQueue()

template<container C>
TQueue::TQueue

Definition at line 33 of file tqueue.ipp.

◆ ~TQueue()

template<container C>
TQueue::~TQueue

Clear the binq

Clear the splay tree

Clear the priority queue

Definition at line 42 of file tqueue.ipp.

Member Function Documentation

◆ atomic_dq()

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::atomic_dq ( double  til)
inline

◆ dequeue_bin()

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::dequeue_bin ( )
inline

Definition at line 133 of file tqueue.hpp.

◆ enqueue_bin()

template<container C>
TQItem * TQueue::enqueue_bin ( double  t,
DiscreteEvent data 
)
inline

Definition at line 71 of file tqueue.ipp.

◆ insert()

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::insert ( double  t,
DiscreteEvent data 
)
inline

◆ least()

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::least ( )
inline

Definition at line 128 of file tqueue.hpp.

◆ least_t_nolock()

template<container C = spltree>
double coreneuron::TQueue< C >::least_t_nolock ( )
inlineprivate

Definition at line 156 of file tqueue.hpp.

◆ make_TQPair()

template<container C = spltree>
TQPair coreneuron::TQueue< C >::make_TQPair ( TQItem p)
inlineprivate

Definition at line 171 of file tqueue.hpp.

◆ move()

template<container C = spltree>
void coreneuron::TQueue< C >::move ( TQItem ,
double  tnew 
)
inline

◆ move_least_nolock()

template<container C = spltree>
void coreneuron::TQueue< C >::move_least_nolock ( double  tnew)
private

◆ remove()

template<container C = spltree>
void coreneuron::TQueue< C >::remove ( TQItem )
inline

◆ shift_bin()

template<container C = spltree>
void coreneuron::TQueue< C >::shift_bin ( double  _t_)
inline

Definition at line 136 of file tqueue.hpp.

◆ top()

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::top ( )
inline

Definition at line 140 of file tqueue.hpp.

Member Data Documentation

◆ binq_

template<container C = spltree>
BinQ* coreneuron::TQueue< C >::binq_

Definition at line 167 of file tqueue.hpp.

◆ least_

template<container C = spltree>
TQItem* coreneuron::TQueue< C >::least_
private

Definition at line 170 of file tqueue.hpp.

◆ nshift_

template<container C = spltree>
int coreneuron::TQueue< C >::nshift_

Definition at line 147 of file tqueue.hpp.

◆ pq_que_

template<container C = spltree>
std::priority_queue<TQPair, std::vector<TQPair>, less_time> coreneuron::TQueue< C >::pq_que_

Priority queue of vectors for queuing the events.

enqueuing for move() and move_least_nolock() is not implemented

Definition at line 151 of file tqueue.hpp.

◆ sptree_

template<container C = spltree>
SPTREE* coreneuron::TQueue< C >::sptree_
private

Definition at line 164 of file tqueue.hpp.


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