35 #ifndef MADNESS_WORLD_UNIQUEID_H__INCLUDED
36 #define MADNESS_WORLD_UNIQUEID_H__INCLUDED
49 unsigned long worldid;
52 uniqueidT(
unsigned long worldid,
unsigned long objid)
53 : worldid(worldid), objid(objid) {};
57 : worldid(0), objid(0) {};
60 return objid==other.objid && worldid==other.worldid;
67 operator bool()
const {
71 template <
typename Archive>
85 s <<
"{" <<
id.get_world_id() <<
"," <<
id.get_obj_id() <<
"}";
101 #endif // MADNESS_WORLD_UNIQUEID_H__INCLUDED
std::size_t operator()(const uniqueidT &id) const
Definition: uniqueid.h:63
Defines hash functions for use in distributed containers.
Definition: uniqueid.h:46
friend std::ostream & operator<<(std::ostream &s, const uniqueidT &id)
Definition: uniqueid.h:84
unsigned long get_world_id() const
Definition: uniqueid.h:76
uniqueidT()
Definition: uniqueid.h:56
void serialize(Archive &ar)
Definition: uniqueid.h:72
unsigned long get_obj_id() const
Definition: uniqueid.h:80
void combine_hash(hashT &seed, hashT hash)
Internal use only.
Definition: worldhash.h:247
madness::hashT hash_value(const std::array< T, N > &a)
Hash std::array with madness::Hash.
Definition: array.h:62
A parallel world with full functionality wrapping an MPI communicator.
Definition: worldfwd.h:416
std::size_t hashT
The hash value type.
Definition: worldhash.h:148
bool operator==(const uniqueidT &other) const
Definition: uniqueid.h:59
Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
Definition: chem/atomutil.cc:45