PPL Logo

CpdListAccessor Class Reference

A CpdListAccessor responds to CCS requests for a single CpdList. More...

#include <debug-conv++.h>

Inheritance diagram for CpdListAccessor:

Inheritance graph
[legend]
Collaboration diagram for CpdListAccessor:

Collaboration graph
[legend]

Public Member Functions

 CpdListAccessor ()
virtual ~CpdListAccessor ()
virtual const char * getPath (void) const =0
 Return the CpdList path CCS clients should use to access this data.
virtual size_t getLength (void) const =0
 Return the length of this CpdList.
virtual bool checkBoundary (void) const
 Does this CpdList requires boundary checking?
virtual void pup (PUP::er &p, CpdListItemsRequest &req)=0
 Pup the items listed in this request. Be sure to call beginItem between items!

Protected Member Functions

void beginItem (PUP::er &p, int itemNo)
 Subclasses must call this before pupping each requested item.

Protected Attributes

bool checkBound
 Decides if this CpdList requires boundary checking.

Detailed Description

A CpdListAccessor responds to CCS requests for a single CpdList.

To make some data available via the CpdList interface, you make a subclass of this class (possibly CpdSimpleListAccessor), and pass it to CpdListRegister, below.

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


Constructor & Destructor Documentation

CpdListAccessor::CpdListAccessor (  )  [inline]

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

CpdListAccessor::~CpdListAccessor (  )  [virtual]

Definition at line 6 of file debug-conv++.C.


Member Function Documentation

void CpdListAccessor::beginItem ( PUP::er p,
int  itemNo 
) [protected]

Subclasses must call this before pupping each requested item.

This inserts a marker to allow the client to distinguish between different CpdList items.

Definition at line 18 of file debug-conv++.C.

References CpdListBeginItem_impl().

Referenced by CpdList_arrayElements::add(), CpdList_arrayElementNames::add(), CpdList_object::add(), CpdList_objectNames::add(), CpdSimpleListAccessor< T >::pup(), CpdList_introspect::pup(), CpdList_msgStack::pup(), CpdList_message::pup(), CpdList_localQ::pup(), and CpdList_localQ::pupSingleMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual const char* CpdListAccessor::getPath ( void   )  const [pure virtual]

virtual size_t CpdListAccessor::getLength ( void   )  const [pure virtual]

virtual bool CpdListAccessor::checkBoundary ( void   )  const [inline, virtual]

Does this CpdList requires boundary checking?

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

References checkBound.

Referenced by CpdListBoundsCheck().

Here is the caller graph for this function:

virtual void CpdListAccessor::pup ( PUP::er p,
CpdListItemsRequest req 
) [pure virtual]

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

Implemented in CpdList_objectNames, CpdList_object, CpdList_arrayElementNames, CpdList_arrayElements, CpdList_localQ, CpdList_message, CpdList_msgStack, CpdListAccessor_c, CpdSimpleListAccessor< T >, and CpdList_introspect.

Referenced by pupCpd().

Here is the caller graph for this function:


Field Documentation

Decides if this CpdList requires boundary checking.

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

Referenced by checkBoundary(), and CpdListAccessor_c::CpdListAccessor_c().


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

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