DUECA/DUSIME
|
Name tuple as used in DUECA. More...
#include <NameSet.hxx>
Public Types | |
typedef NameSet | __ThisDCOType__ |
typedef for internal reference | |
Public Member Functions | |
NameSet () | |
default constructor. | |
NameSet (const std::string &name) | |
Constructor with arguments. | |
NameSet (const NameSet &o) | |
copy constructor. | |
NameSet (::dueca::AmorphReStore &r) | |
constructor to restore an NameSet from amorphous storage. | |
~NameSet () | |
destructor. | |
void | packData (::dueca::AmorphStore &s) const |
packs the NameSet into amorphous storage. | |
void | packDataDiff (::dueca::AmorphStore &s, const NameSet &ref) const |
packs the NameSet into amorphous storage. | |
void | unPackData (::dueca::AmorphReStore &s) |
unpacks the NameSet from an amorphous storage. | |
void | unPackDataDiff (::dueca::AmorphReStore &s) |
unpacks the differences for NameSet from an amorphous storage. | |
bool | operator== (const NameSet &o) const |
Test for equality. | |
bool | operator!= (const NameSet &o) const |
Test for inequality. | |
NameSet & | operator= (const NameSet &o) |
Assignment operator. | |
std::ostream & | print (std::ostream &s) const |
prints the NameSet to a stream. | |
Static Public Member Functions | |
static void * | operator new (size_t size) |
new operator "new", which places objects not on a heap, but in one of the memory arenas. | |
static void | operator delete (void *p) |
new operator "delete", to go with the new version of operator new. | |
static void * | operator new (size_t size, NameSet *&o) |
placement "new", needed for stl. | |
Public Attributes | |
std::string | name |
A class member. | |
Static Public Attributes | |
static const char *const | classname |
The name of this class. | |
static const uint32_t | magic_check_number |
a "magic" number, hashed out of the class definition, that will be used to check consistency of the sent objects across the dueca nodes. | |
Name tuple as used in DUECA.
The tuple is typically written in URL-type fashion, with the data class type before the dots, e.g., MyDataClass://entity/part, or MyDataClass://something
Originally, the naming in DUECA was limited to three-part names
This is now re-coded to a name of Class://Entity/Part, and if part is omitted, to Class://Entity
new operator "new", which places objects not on a heap, but in one of the memory arenas.
This to speed up memory management.
void dueca::NameSet::packDataDiff | ( | ::dueca::AmorphStore & | s, |
const NameSet & | ref ) const |
packs the NameSet into amorphous storage.
only differences with a previous object are packed.