29#ifndef NOMLIB_CORE_OBJECT_TYPE_INFO_HPP
30#define NOMLIB_CORE_OBJECT_TYPE_INFO_HPP
35#include "nomlib/config.hpp"
44 typedef std::type_index value_type;
72 const std::string
name(
void )
const;
86 void set_type(
const ObjectTypeInfo::value_type&
object );
101 const value_type&
type(
void )
const;
149#define NOM_OBJECT_TYPE_INFO( type ) \
150 ( ObjectType<type>() )
Run-time type information (RTTI) container class.
const value_type & type(void) const
Getter for the internal container type used.
ObjectTypeInfo(void)
Default constructor; initializes the object's type info as itself (this should be regarded as an inva...
value_type type_
Type information container.
size_t hash_code(void) const
Get the object's type hash code.
self_type & operator=(const self_type &other)
Copy assignment operator.
~ObjectTypeInfo(void)
Destructor.
const std::string name(void) const
Get the object type's name.
ObjectTypeInfo(const value_type &object)
Constructor for a complete object initialization.
ObjectTypeInfo(const self_type ©)
Copy constructor.
bool operator!=(const self_type &rhs) const
In-equality comparison operator.
bool operator==(const self_type &rhs) const
Equality comparison operator.
void set_type(const ObjectTypeInfo::value_type &object)
Setter for the object's type.
Helper method for our factory API.