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)
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< CharmStrategy * >::enq(), CkQ< CharmStrategy * >::insert(), and CkQ< CharmStrategy * >::push().

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

Definition at line 65 of file cklists.h.

Referenced by batchHandleCorrectionMsg(), bgAddProjEvent(), BgAdjustTimeLineByIndex(), BgAdjustTimeLineFromIndex(), BgFinishCorrection(), BgIntegrityCheck(), BgLogEntryCommit(), bgUpdateProj(), BgWriteThreadTimeLine(), CkArrayBroadcaster::bringUpToDate(), ComlibManager::broadcastStrategies(), CkGroupReadyCallback::callBuffered(), CkNodeReductionMgr::clearBlockedMsgs(), CkArrayReductionMgr::collectAllMessages(), correctMsgTime(), HashQueueT< KEY, OBJ >::deq(), CkNodeReductionMgr::doAddContribution(), NodeMulticast::doneInserting(), CkNodeReductionMgr::doRecvMsg(), Router::EachToManyMulticastQ(), GridRouter::EachToManyMulticastQ(), DimexRouter::EachToManyMulticastQ(), win_obj::emptyQueue(), CkReductionMgr::endArrayReduction(), enqueueCorrectionMsg(), findLeastTime(), CkNodeReductionMgr::findMaxRedNo(), CkNodeReductionMgr::finishReduction(), CkReductionMgr::finishReduction(), CkMessageReplay::flush(), MeshStreamingStrategy::FlushColumn(), MeshStreamingStrategy::FlushRow(), AmpiSeqQ::getOutOfOrder(), BgTimeLineRec::getTimeLogOnThread(), liveVizPollArray::init(), CkLocRec_local::isObsolete(), HashQueueT< KEY, OBJ >::key_deq(), HashQueueT< KEY, OBJ >::key_find(), CkNodeReductionMgr::LateMigrantMsg(), BgTimeLineRec::length(), liveVizPollArray::liveVizPoll0Deposit(), BgTimeLineRec::logEntryClose(), BgTimeLineRec::logEntryInsert(), processCorrectionMsg(), pupCkQ(), ComlibManager::receiveRemoteSend(), CkNodeReductionMgr::reduceMessages(), CkReductionMgr::reduceMessages(), CkArrayReductionMgr::reduceMessages(), liveVizPollArray::request(), PrefixRouter::sendPointToPoint(), ComlibManager::sendRemote(), BgTimeLineRec::setStartIdx(), CkArrayBroadcaster::springCleaning(), CkSema::waitN(), and BgTimeLineRec::~BgTimeLineRec().

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

Definition at line 66 of file cklists.h.

Referenced by CkLocRec_local::addedElement(), RecBisectBfLB::addToQ(), CkMulticastMgr::childrenReady(), BgTimeLineRec::clearSendingLogs(), PipelineStrategy::doneInserting(), PipeBroadcastConverse::doneInserting(), PipeBroadcastStrategy::doneInserting(), PrefixRouter::EachToManyMulticastQ(), CkNodeReductionMgr::flushStates(), CkReductionMgr::flushStates(), CkArrayReductionMgr::flushStates(), CkSemaPool::getNew(), CkMulticastMgr::recvPacket(), and PrefixRouter::sendMulticast().

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

Definition at line 67 of file cklists.h.

Referenced by CkLocRec_local::addedElement(), RecBisectBfLB::addToQ(), batchHandleCorrectionMsg(), CkArrayBroadcaster::bringUpToDate(), ComlibManager::broadcastStrategies(), CkGroupReadyCallback::callBuffered(), CkMulticastMgr::childrenReady(), SerialTree::ChildSearch(), CkCreateLocalGroup(), CkCreateLocalNodeGroup(), CkNodeReductionMgr::clearBlockedMsgs(), BgTimeLineRec::clearSendingLogs(), CkArrayReductionMgr::collectAllMessages(), QdState::deq(), HashQueueT< KEY, OBJ >::deq(), win_obj::dequeue(), PipelineStrategy::doneInserting(), PipeBroadcastConverse::doneInserting(), PipeBroadcastStrategy::doneInserting(), NodeMulticast::doneInserting(), Router::EachToManyMulticastQ(), GridRouter::EachToManyMulticastQ(), DimexRouter::EachToManyMulticastQ(), CkReductionMgr::endArrayReduction(), VidBlock::fill(), CkNodeReductionMgr::finishReduction(), CkReductionMgr::finishReduction(), CkMessageReplay::flush(), MeshStreamingStrategy::FlushColumn(), StreamingStrategy::flushPE(), CkArrayBroadcaster::flushState(), CkNodeReductionMgr::flushStates(), CkReductionMgr::flushStates(), CkArrayReductionMgr::flushStates(), InBuffer::getMessage(), CkSemaPool::getNew(), AmpiSeqQ::getOutOfOrder(), liveVizPollArray::liveVizPoll0Deposit(), win_obj::lockTopQueue(), MsgPacker::MsgPacker(), ComlibManager::receiveRemoteSend(), CkNodeReductionMgr::reduceMessages(), CkReductionMgr::reduceMessages(), CkArrayReductionMgr::reduceMessages(), liveVizPollArray::request(), PrefixRouter::sendMulticast(), PrefixRouter::sendPointToPoint(), ComlibManager::sendRemote(), CkArrayBroadcaster::springCleaning(), BgNode::startCommTh(), CkSema::wait(), CkSema::waitN(), CkArrayBroadcaster::~CkArrayBroadcaster(), and SerialTree::~SerialTree().

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

Definition at line 75 of file cklists.h.

Referenced by CkReductionMgr::addContribution(), BgNode::addMessage(), RecBisectBfLB::addToQ(), CkReductionMgr::ArrayReductionHandler(), ComlibManager::ArraySend(), batchHandleCorrectionMsg(), BgAdjustTimeLineFromIndex(), CkArrayBroadcaster::bringUpToDate(), CkGroupReadyCallback::callMeBack(), CkArrayReductionMgr::collectAllMessages(), ComlibManager::collectStats(), CkArrayReductionMgr::contributeArrayReduction(), CkLocRec_local::deliver(), CkNodeReductionMgr::doAddContribution(), CkNodeReductionMgr::doRecvMsg(), CkReductionMgr::endArrayReduction(), BgTimeLineRec::enq(), QdState::enq(), RecBisectBfLB::enqChildren(), TableEntry::enqMsg(), win_obj::enqueue(), CkNodeReductionMgr::finishReduction(), CkMessageReplay::flush(), AmpiSeqQ::getOutOfOrder(), CkArrayBroadcaster::incoming(), MeshStreamingStrategy::InsertIntoRowBucket(), PipelineStrategy::insertMessage(), PipeBroadcastConverse::insertMessage(), StreamingStrategy::insertMessage(), PrioStreaming::insertMessage(), PipeBroadcastStrategy::insertMessage(), NodeMulticast::insertMessage(), MeshStreamingStrategy::insertMessage(), HashQueueT< KEY, OBJ >::key_enq(), CkNodeReductionMgr::LateMigrantMsg(), liveVizPollArray::liveVizPoll0Deposit(), RecBisectBfLB::partitionInTwo(), CkMessageReplay::processMessage(), BgTimeLineRec::pup(), pupCkQ(), InBuffer::putMessage(), AmpiSeqQ::putOutOfOrder(), CkMulticastMgr::recvMsg(), CkMulticastMgr::recvPacket(), ComlibManager::registerStrategy(), CkSemaPool::release(), liveVizPollArray::request(), SerialTree::Search(), VidBlock::send(), and CkSema::signal().

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

Definition at line 81 of file cklists.h.

Referenced by RouterStrategy::DummyEP(), RouterStrategy::ProcManyMsg(), and RouterStrategy::RecvManyMsg().

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

Definition at line 88 of file cklists.h.

Referenced by HashQueueT< KEY, OBJ >::HashQueueT(), HashQueueT< KEY, OBJ >::key_promote(), win_obj::lockTopQueue(), and HashQueueT< KEY, OBJ >::updatetable().

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

Definition at line 97 of file cklists.h.

Referenced by BgAdjustTimeLineByIndex(), BgAdjustTimeLineFromIndex(), and HashQueueT< KEY, OBJ >::key_deq().

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

Definition at line 106 of file cklists.h.

Referenced by BgAdjustTimeLineByIndex(), and BgAdjustTimeLineFromIndex().

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

Definition at line 111 of file cklists.h.

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

Definition at line 117 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 129 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]

Definition at line 37 of file cklists.h.

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

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

Definition at line 38 of file cklists.h.

Referenced by CkQ< CharmStrategy * >::_expand(), CkQ< CharmStrategy * >::deq(), CkQ< CharmStrategy * >::enq(), CkQ< CharmStrategy * >::getArray(), CkQ< CharmStrategy * >::insert(), CkQ< CharmStrategy * >::operator[](), CkQ< CharmStrategy * >::push(), and CkQ< CharmStrategy * >::remove().

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

Definition at line 39 of file cklists.h.

Referenced by CkQ< CharmStrategy * >::deq(), CkQ< CharmStrategy * >::enq(), CkQ< CharmStrategy * >::getArray(), CkQ< CharmStrategy * >::insert(), CkQ< CharmStrategy * >::isEmpty(), CkQ< CharmStrategy * >::length(), CkQ< CharmStrategy * >::push(), CkQ< CharmStrategy * >::remove(), and CkQ< CharmStrategy * >::removeFrom().

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

Definition at line 40 of file cklists.h.

Referenced by CkQ< CharmStrategy * >::_expand(), CkQ< CharmStrategy * >::CkQ(), CkQ< CharmStrategy * >::deq(), CkQ< CharmStrategy * >::enq(), CkQ< CharmStrategy * >::getArray(), CkQ< CharmStrategy * >::insert(), CkQ< CharmStrategy * >::operator[](), CkQ< CharmStrategy * >::push(), and CkQ< CharmStrategy * >::remove().


The documentation for this class was generated from the following file:
Generated on Sun Jun 29 13:31:14 2008 for Charm++ by  doxygen 1.5.1