CkQ< T > Class Template Reference

A single-ended FIFO queue. More...

#include <cklists.h>

Inheritance diagram for CkQ< T >:

Inheritance graph
[legend]
Collaboration diagram for CkQ< T >:

Collaboration graph
[legend]

Public Member Functions

 CkQ ()
 CkQ (int sz)
 ~CkQ ()
int length (void)
int isEmpty (void)
T deq (void)
void enq (const T &elt)
void push (const T &elt)
Tpeek ()
void insert (int pos, const T &elt)
T remove (int pos)
void removeFrom (int pos)
Toperator[] (size_t n)
TgetArray (void)
void pup (PUP::er &p)

Private Member Functions

void _expand (void)

Private Attributes

Tblock
int blklen
int first
int len
int mask

Detailed Description

template<class T>
class CkQ< T >

A single-ended FIFO queue.

See CkMsgQ if T is a Charm++ message type.

Definition at line 35 of file cklists.h.


Constructor & Destructor Documentation

template<class T>
CkQ< T >::CkQ (  )  [inline]

Definition at line 56 of file cklists.h.

template<class T>
CkQ< T >::CkQ ( int  sz  )  [inline]

Definition at line 57 of file cklists.h.

template<class T>
CkQ< T >::~CkQ (  )  [inline]

Definition at line 64 of file cklists.h.


Member Function Documentation

template<class T>
void CkQ< T >::_expand ( void   )  [inline, private]

Definition at line 41 of file cklists.h.

Referenced by CkQ< char * >::enq(), CkQ< char * >::insert(), and CkQ< char * >::push().

template<class T>
int CkQ< T >::length ( void   )  [inline]

Definition at line 65 of file cklists.h.

Referenced by _removeProcessedLogHandler(), _ticketHandler(), batchHandleCorrectionMsg(), bgAddProjEvent(), BgAdjustTimeLineByIndex(), BgAdjustTimeLineFromIndex(), BgFinishCorrection(), BgIntegrityCheck(), BgLogEntryCommit(), bgUpdateProj(), BgWriteThreadTimeLine(), CkArrayBroadcaster::bringUpToDate(), CkGroupReadyCallback::callBuffered(), CkArrayReductionMgr::collectAllMessages(), correctMsgTime(), HashQueueT< CkFutureID, iget_token_struct >::deq(), RouterStrategy::doneInserting(), Router::EachToManyMulticastQ(), HypercubeRouter::EachToManyMulticastQ(), GridRouter::EachToManyMulticastQ(), DimexRouter::EachToManyMulticastQ(), win_obj::emptyQueue(), enqueueCorrectionMsg(), findLeastTime(), CkReductionMgr::finishReduction(), CpdList_msgStack::getLength(), AmpiSeqQ::getOutOfOrder(), BgTimeLineRec::getTimeLogOnThread(), handleCorrectionMsg(), liveVizPollArray::init(), CkLocRec_local::isObsolete(), HashQueueT< CkFutureID, iget_token_struct >::key_deq(), HashQueueT< CkFutureID, iget_token_struct >::key_find(), BgTimeLineRec::length(), liveVizPollArray::liveVizPoll0Deposit(), BgTimeLineRec::logEntryClose(), BgTimeLineRec::logEntryInsert(), BgTimeLineRec::logSplit(), processCorrectionMsg(), CpdList_msgStack::pup(), ChareMlogData::pup(), pupCkQ(), CkArrayReductionMgr::reduceMessages(), removeProcessedLogs(), liveVizPollArray::request(), resendMessageForChare(), sendCheckpointData(), PrefixRouter::sendPointToPoint(), BgTimeLineRec::setStartIdx(), CkArrayBroadcaster::springCleaning(), CkSema::waitN(), and BgTimeLineRec::~BgTimeLineRec().

template<class T>
int CkQ< T >::isEmpty ( void   )  [inline]

template<class T>
T CkQ< T >::deq ( void   )  [inline]

template<class T>
void CkQ< T >::enq ( const T elt  )  [inline]

template<class T>
void CkQ< T >::push ( const T elt  )  [inline]

template<class T>
T& CkQ< T >::peek (  )  [inline]

template<class T>
void CkQ< T >::insert ( int  pos,
const T elt 
) [inline]

template<class T>
T CkQ< T >::remove ( int  pos  )  [inline]

template<class T>
void CkQ< T >::removeFrom ( int  pos  )  [inline]

Definition at line 110 of file cklists.h.

Referenced by BgAdjustTimeLineByIndex(), and BgAdjustTimeLineFromIndex().

template<class T>
T& CkQ< T >::operator[] ( size_t  n  )  [inline]

Definition at line 115 of file cklists.h.

template<class T>
T* CkQ< T >::getArray ( void   )  [inline]

Definition at line 121 of file cklists.h.

template<class T>
void CkQ< T >::pup ( PUP::er p  )  [inline]

Reimplemented in CkMsgQ< MSG >, CkMsgQ< liveVizRequestMsg >, CkMsgQ< AmpiMsg >, and CkMsgQ< CkReductionMsg >.

Definition at line 133 of file cklists.h.

Referenced by BgTimeLineRec::pup().


Field Documentation

template<class T>
T* CkQ< T >::block [private]

Definition at line 36 of file cklists.h.

template<class T>
int CkQ< T >::blklen [private]

template<class T>
int CkQ< T >::first [private]

template<class T>
int CkQ< T >::len [private]

template<class T>
int CkQ< T >::mask [private]


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

Generated on Mon Nov 23 07:57:23 2009 for Charm++ by  doxygen 1.5.5