MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
madness::WorldDCDefaultPmap< keyT, hashfunT > Class Template Reference

Default process map is "random" using madness::hash(key) More...

#include <worlddc.h>

Inheritance diagram for madness::WorldDCDefaultPmap< keyT, hashfunT >:
Inheritance graph
[legend]
Collaboration diagram for madness::WorldDCDefaultPmap< keyT, hashfunT >:
Collaboration graph
[legend]

Public Member Functions

 WorldDCDefaultPmap (World &world, const hashfunT &hf=hashfunT())
 
ProcessID owner (const keyT &key) const
 Maps key to processor. More...
 
- Public Member Functions inherited from madness::WorldDCPmapInterface< keyT >
virtual ~WorldDCPmapInterface ()
 
void deregister_callback (ptrT ptr)
 Deregisters object for receipt of redistribute callbacks. More...
 
std::size_t global_size (World &world) const
 Counts global number of entries in all containers associated with this process map. More...
 
std::size_t local_size () const
 Counts local number of entries in all containers associated with this process map. More...
 
virtual void print () const
 
void print_data_sizes (World &world, const std::string msg="") const
 Prints size info to std::cout. 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...
 
void register_callback (ptrT ptr)
 Registers object for receipt of redistribute callbacks. More...
 

Private Attributes

hashfunT hashfun
 
const int nproc
 

Additional Inherited Members

- Public Types inherited from madness::WorldDCPmapInterface< keyT >
typedef WorldDCRedistributeInterface< keyT > * ptrT
 

Detailed Description

template<typename keyT, typename hashfunT = Hash<keyT>>
class madness::WorldDCDefaultPmap< keyT, hashfunT >

Default process map is "random" using madness::hash(key)

Constructor & Destructor Documentation

◆ WorldDCDefaultPmap()

template<typename keyT , typename hashfunT = Hash<keyT>>
madness::WorldDCDefaultPmap< keyT, hashfunT >::WorldDCDefaultPmap ( World world,
const hashfunT &  hf = hashfunT() 
)
inline

Member Function Documentation

◆ owner()

template<typename keyT , typename hashfunT = Hash<keyT>>
ProcessID madness::WorldDCDefaultPmap< keyT, hashfunT >::owner ( const keyT &  key) const
inlinevirtual

Maps key to processor.

Parameters
[in]keyKey for container
Returns
Processor that logically owns the key

Implements madness::WorldDCPmapInterface< keyT >.

References madness::WorldDCDefaultPmap< keyT, hashfunT >::hashfun, and madness::WorldDCDefaultPmap< keyT, hashfunT >::nproc.

Member Data Documentation

◆ hashfun

template<typename keyT , typename hashfunT = Hash<keyT>>
hashfunT madness::WorldDCDefaultPmap< keyT, hashfunT >::hashfun
private

◆ nproc

template<typename keyT , typename hashfunT = Hash<keyT>>
const int madness::WorldDCDefaultPmap< keyT, hashfunT >::nproc
private

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