Radium Engine  1.5.0
Ra::Core::Utils::ObjectWithSemantic Class Reference

Object associated with one or multiple semantic names. More...

#include <Core/Utils/ObjectWithSemantic.hpp>

+ Inheritance diagram for Ra::Core::Utils::ObjectWithSemantic:
+ Collaboration diagram for Ra::Core::Utils::ObjectWithSemantic:

Public Types

using SemanticName = std::string
 
using SemanticNameCollection = std::set< SemanticName >
 Store in set to allow for logarithmic search.
 

Public Member Functions

 ObjectWithSemantic (const ObjectWithSemantic &other)
 
bool hasSemantic (const SemanticName &name) const
 
const SemanticNameCollectionsemantics () const
 
ObjectWithSemanticoperator= (const ObjectWithSemantic &other)
 
ObjectWithSemanticoperator= (ObjectWithSemantic &&other)
 
bool shareSemantic (const ObjectWithSemantic &other) const
 
bool sameSemantics (const ObjectWithSemantic &other) const
 

Protected Member Functions

template<class... SemanticNames>
 ObjectWithSemantic (SemanticNames... names)
 
 ObjectWithSemantic (const SemanticNameCollection &otherNames)
 

Detailed Description

Object associated with one or multiple semantic names.

Holds a static collection of names (SemanticNameCollection) that are defined by the inheriting class when calling the protected constructor. Provides #hasSemantic to test if one object has a given semantic name, as well as #shareSemantic and #sameSemantics to compare different objects.

Definition at line 17 of file ObjectWithSemantic.hpp.


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