PPL Logo

CkRegisteredInfo< T > Class Template Reference
[CkRegister]

This class stores registered entities, like EntryInfo's, in a linear list indexed by index ("idx"). More...

#include <register.h>

Collaboration diagram for CkRegisteredInfo< T >:

Collaboration graph
[legend]

Public Member Functions

 CkRegisteredInfo ()
 Subtle: we *don't* want to call vec's constructor, because the order in which constructors for global variables get called is undefined.
 ~CkRegisteredInfo ()
int add (T *t)
 Add a heap-allocated registration record, returning the index used.
size_t & size (void)
 Return the number of registered entities in this table.
Toperator[] (size_t idx)
 Return the registered data at this index.

Private Member Functions

void outOfBounds (int idx)

Private Attributes

CkVec< T * > vec

Detailed Description

template<class T>
class CkRegisteredInfo< T >

This class stores registered entities, like EntryInfo's, in a linear list indexed by index ("idx").

Definition at line 240 of file register.h.


Constructor & Destructor Documentation

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

Subtle: we *don't* want to call vec's constructor, because the order in which constructors for global variables get called is undefined.

Hence we rely on the implicit zero-initialization that all globals get.

Definition at line 259 of file register.h.

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

Definition at line 260 of file register.h.

References CkVec< T >::size(), and CkRegisteredInfo< T >::vec.


Member Function Documentation

template<class T>
void CkRegisteredInfo< T >::outOfBounds ( int  idx  )  [inline, private]

Definition at line 243 of file register.h.

References CkVec< T >::size(), and CkRegisteredInfo< T >::vec.

Referenced by CkRegisteredInfo< T >::operator[]().

template<class T>
int CkRegisteredInfo< T >::add ( T t  )  [inline]

Add a heap-allocated registration record, returning the index used.

Definition at line 266 of file register.h.

References BGConverse::CkMyRank(), CkVec< T >::push_back(), CkVec< T >::size(), and CkRegisteredInfo< T >::vec.

Referenced by CkRegisterChare(), CkRegisterEp(), CkRegisterMainChare(), CkRegisterMsg(), CkRegisterReadonly(), and CkRegisterReadonlyMsg().

template<class T>
size_t& CkRegisteredInfo< T >::size ( void   )  [inline]

Return the number of registered entities in this table.

(This is a reference so the CpdLists can stay up to date).

Definition at line 278 of file register.h.

References CkVec< T >::length(), and CkRegisteredInfo< T >::vec.

Referenced by _registerDone(), CkPrintChareName(), and CkPrintEntryMethod().

template<class T>
T* CkRegisteredInfo< T >::operator[] ( size_t  idx  )  [inline]

Return the registered data at this index.

Definition at line 281 of file register.h.

References CkRegisteredInfo< T >::outOfBounds(), CkVec< T >::size(), and CkRegisteredInfo< T >::vec.


Field Documentation

template<class T>
CkVec<T *> CkRegisteredInfo< T >::vec [private]


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

Generated on Fri May 25 08:02:23 2012 for Charm++ by  doxygen 1.5.5