DUECA/DUSIME
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
dueca::NameSet Struct Reference

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.
 
NameSetoperator= (const NameSet &o)
 Assignment operator.
 
std::ostream & print (std::ostream &s) const
 prints the NameSet to a stream.
 

Static Public Member Functions

static voidoperator 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 voidoperator 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.
 

Detailed Description

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

  1. Entity. The name of the (bigger) entity this object (module or channel) belongs or corresponds to.
  2. Class. The type of thing it is. The module class name for a module, or the data class name for a channel.
  3. Part. In order to distinguish between multiple channels/modules of the same type within one Entity.

This is now re-coded to a name of Class://Entity/Part, and if part is omitted, to Class://Entity

Member Function Documentation

◆ operator new()

static void * dueca::NameSet::operator new ( size_t size)
static

new operator "new", which places objects not on a heap, but in one of the memory arenas.

This to speed up memory management.

◆ packDataDiff()

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.


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