PPL Logo

CpdSimpleListAccessor< T > Class Template Reference

A typical CpdList accessor: length is stored at some fixed location in memory, path is a constant string, and the pup routine is completely random-access. More...

#include <debug-conv++.h>

Inheritance diagram for CpdSimpleListAccessor< T >:

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

Collaboration graph
[legend]

Public Types

typedef void(* pupFn )(PUP::er &p, int itemNo)
 This routine is called to pup each item of the list.

Public Member Functions

 CpdSimpleListAccessor (const char *path_, CkRegisteredInfo< T > *info_, pupFn pfn_)
 Create a new CpdSimpleListAccessor.
virtual ~CpdSimpleListAccessor ()
virtual const char * getPath (void) const
 Return the CpdList path CCS clients should use to access this data.
virtual size_t getLength (void) const
 Return the length of this CpdList.
virtual void pup (PUP::er &p, CpdListItemsRequest &req)
 Pup the items listed in this request. Be sure to call beginItem between items!

Private Attributes

const char * path
CkRegisteredInfo< T > * info
pupFn pfn

Detailed Description

template<class T>
class CpdSimpleListAccessor< T >

A typical CpdList accessor: length is stored at some fixed location in memory, path is a constant string, and the pup routine is completely random-access.

Definition at line 73 of file debug-conv++.h.


Member Typedef Documentation

template<class T>
typedef void(* CpdSimpleListAccessor< T >::pupFn)(PUP::er &p, int itemNo)

This routine is called to pup each item of the list.

beginItem has already been called before this function.


Constructor & Destructor Documentation

template<class T>
CpdSimpleListAccessor< T >::CpdSimpleListAccessor ( const char *  path_,
CkRegisteredInfo< T > *  info_,
pupFn  pfn_ 
) [inline]

Create a new CpdSimpleListAccessor.

Parameters:
path_ CpdList path CCS clients should use.
length_ Reference to number of elements in the list. This class keeps the reference, so as the list length changes, Cpd always has the latest value. In particular, this means length must not be moved!
pfn_ Function to pup the items in the list.

Definition at line 92 of file debug-conv++.h.

template<class T>
virtual CpdSimpleListAccessor< T >::~CpdSimpleListAccessor (  )  [inline, virtual]

Definition at line 94 of file debug-conv++.h.


Member Function Documentation

template<class T>
virtual const char* CpdSimpleListAccessor< T >::getPath ( void   )  const [inline, virtual]

Return the CpdList path CCS clients should use to access this data.

Implements CpdListAccessor.

Definition at line 95 of file debug-conv++.h.

References CpdSimpleListAccessor< T >::path.

template<class T>
virtual size_t CpdSimpleListAccessor< T >::getLength ( void   )  const [inline, virtual]

Return the length of this CpdList.

Implements CpdListAccessor.

Definition at line 96 of file debug-conv++.h.

References CpdSimpleListAccessor< T >::info.

template<class T>
virtual void CpdSimpleListAccessor< T >::pup ( PUP::er p,
CpdListItemsRequest req 
) [inline, virtual]

Pup the items listed in this request. Be sure to call beginItem between items!

Implements CpdListAccessor.

Definition at line 97 of file debug-conv++.h.

References CpdListAccessor::beginItem(), CpdListItemsRequest::hi, and CpdListItemsRequest::lo.

Here is the call graph for this function:


Field Documentation

template<class T>
const char* CpdSimpleListAccessor< T >::path [private]

Definition at line 79 of file debug-conv++.h.

Referenced by CpdSimpleListAccessor< T >::getPath().

template<class T>
CkRegisteredInfo<T>* CpdSimpleListAccessor< T >::info [private]

Definition at line 80 of file debug-conv++.h.

Referenced by CpdSimpleListAccessor< T >::getLength().

template<class T>
pupFn CpdSimpleListAccessor< T >::pfn [private]

Definition at line 81 of file debug-conv++.h.


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

Generated on Mon Sep 21 08:22:18 2020 for Charm++ by  doxygen 1.5.5