HOPS
HOPS class reference
Classes | Namespaces | Macros | Typedefs
MHO_ClassIdentity.hh File Reference
#include "MHO_MD5HashGenerator.hh"
#include "MHO_Message.hh"
#include "MHO_TemplateTypenameDeduction.hh"
#include "MHO_Types.hh"
#include "MHO_UUID.hh"
#include <string>

Go to the source code of this file.

Classes

class  hops::MHO_ClassIdentity
 Class MHO_ClassIdentity. More...
 
struct  hops::MHO_TypeTag< XClassType >
 Compiler-independent type tag used as the input to UUID generation. More...
 

Namespaces

 hops
 

Macros

#define HOPS_REGISTER_TYPE_TAG(T, NAME)
 

Typedefs

typedef uint32_t hops::MHO_ClassVersion
 

Macro Definition Documentation

◆ HOPS_REGISTER_TYPE_TAG

#define HOPS_REGISTER_TYPE_TAG (   T,
  NAME 
)
Value:
namespace hops \
{ \
template<> struct MHO_TypeTag< T > \
{ \
static std::string Value() { return std::string(NAME); } \
}; \
}
Definition: MHO_AdhocFlagging.hh:18
static std::string Value()
Definition: MHO_ClassIdentity.hh:36

Register a stable, compiler-independent tag string for a type. The tag is the MD5 input used to compute the type's UUID, so once a type is committed to on-disk format this string must never change. Use at file scope; T may be a hops:: typedef written unqualified because the macro re-opens namespace hops.