MADNESS  version 0.9
Public Types | Public Member Functions | List of all members
madness::WorldDCPmapInterface< keyT > Class Template Referenceabstract

Interface to be provided by any process map. More...

#include <worlddc.h>

Inheritance diagram for madness::WorldDCPmapInterface< keyT >:
Inheritance graph
[legend]

Public Types

typedef
WorldDCRedistributeInterface
< keyT > * 
ptrT
 

Public Member Functions

virtual ProcessID owner (const keyT &key) const =0
 Maps key to processor. More...
 
virtual ~WorldDCPmapInterface ()
 
virtual void print () const
 
void register_callback (ptrT ptr)
 Registers object for receipt of redistribute callbacks. More...
 
void deregister_callback (ptrT ptr)
 Deregisters object for receipt of redistribute callbacks. More...
 
void redistribute (World &world, const std::shared_ptr< WorldDCPmapInterface< keyT > > &newpmap)
 Invoking this switches all registered objects from this process map to the new one. More...
 

Detailed Description

template<typename keyT>
class madness::WorldDCPmapInterface< keyT >

Interface to be provided by any process map.

Member Typedef Documentation

template<typename keyT>
typedef WorldDCRedistributeInterface<keyT>* madness::WorldDCPmapInterface< keyT >::ptrT

Constructor & Destructor Documentation

template<typename keyT>
virtual madness::WorldDCPmapInterface< keyT >::~WorldDCPmapInterface ( )
inlinevirtual

Member Function Documentation

template<typename keyT>
void madness::WorldDCPmapInterface< keyT >::deregister_callback ( ptrT  ptr)
inline

Deregisters object for receipt of redistribute callbacks.

Parameters
[in]ptrPointer to class derived from WorldDCRedistributedInterface
template<typename keyT>
virtual ProcessID madness::WorldDCPmapInterface< keyT >::owner ( const keyT &  key) const
pure virtual
template<typename keyT>
virtual void madness::WorldDCPmapInterface< keyT >::print ( ) const
inlinevirtual
template<typename keyT>
void madness::WorldDCPmapInterface< keyT >::redistribute ( World world,
const std::shared_ptr< WorldDCPmapInterface< keyT > > &  newpmap 
)
inline

Invoking this switches all registered objects from this process map to the new one.

After invoking this routine all objects will be registered with the new map and no objects will be registered in the current map.

Parameters
[in]worldThe associated world
[in]newpmapThe new process map
template<typename keyT>
void madness::WorldDCPmapInterface< keyT >::register_callback ( ptrT  ptr)
inline

Registers object for receipt of redistribute callbacks.

Parameters
[in]ptrPointer to class derived from WorldDCRedistributedInterface

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