PPL Logo

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 (CkQ &&rhs)
 CkQ (int sz)
 CkQ (const CkQ &)
void operator= (const CkQ &)
void operator= (CkQ &&)
 ~CkQ ()
int length () const
int isEmpty () const
deq ()
void enq (const T &elt)
void push (const T &elt)
T & peek ()
void insert (int pos, const T &elt)
remove (int pos)
void removeFrom (int pos)
T & operator[] (size_t n)
T * getArray (void)
void pup (PUP::er &p)

Private Member Functions

void _expand (void)

Private Attributes

std::vector< T > block
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 38 of file cklists.h.


Constructor & Destructor Documentation

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

Definition at line 65 of file cklists.h.

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

Definition at line 66 of file cklists.h.

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

Definition at line 75 of file cklists.h.

template<class T>
CkQ< T >::CkQ ( const CkQ< T > &   ) 

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

Definition at line 85 of file cklists.h.


Member Function Documentation

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

Definition at line 43 of file cklists.h.

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

Here is the caller graph for this function:

template<class T>
void CkQ< T >::operator= ( const CkQ< T > &   ) 

template<class T>
void CkQ< T >::operator= ( CkQ< T > &&   ) 

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

template<class T>
int CkQ< T >::isEmpty ( void   )  const [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]

Definition at line 102 of file cklists.h.

Referenced by CpdBeforeEp().

Here is the caller graph for this function:

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]

Definition at line 122 of file cklists.h.

Referenced by HashQueueT< CkFutureID, iget_token_struct >::key_deq().

Here is the caller graph for this function:

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

Definition at line 131 of file cklists.h.

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

Definition at line 136 of file cklists.h.

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

Definition at line 142 of file cklists.h.

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

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

Definition at line 151 of file cklists.h.


Field Documentation

template<class T>
std::vector<T> CkQ< T >::block [private]

Definition at line 39 of file cklists.h.

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 Sep 21 08:21:13 2020 for Charm++ by  doxygen 1.5.5