MADNESS
version 0.9
|
Interface to be provided by any process map. More...
#include <worlddc.h>
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... | |
Interface to be provided by any process map.
typedef WorldDCRedistributeInterface<keyT>* madness::WorldDCPmapInterface< keyT >::ptrT |
|
inlinevirtual |
|
inline |
Deregisters object for receipt of redistribute callbacks.
[in] | ptr | Pointer to class derived from WorldDCRedistributedInterface |
|
pure virtual |
Maps key to processor.
[in] | key | Key for container |
Implemented in LevelPmap, LevelPmap, LevelPmap, LevelPmap, madness::WorldDCDefaultPmap< keyT, hashfunT >, LevelPmap, madness::MyPmap< D >, madness::LevelPmap< keyT >, madness::SimplePmap< keyT >, madness::LBDeuxPmap< NDIM >, LevelPmap, LevelPmap, LevelPmap, and LevelPmap.
|
inlinevirtual |
Reimplemented in madness::MyPmap< D >, and madness::LBDeuxPmap< NDIM >.
|
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.
[in] | world | The associated world |
[in] | newpmap | The new process map |
|
inline |
Registers object for receipt of redistribute callbacks.
[in] | ptr | Pointer to class derived from WorldDCRedistributedInterface |