Radium Engine
1.5.20
|
Object associated with one or multiple semantic names. More...
#include <Core/Utils/ObjectWithSemantic.hpp>
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 SemanticNameCollection & | semantics () const |
ObjectWithSemantic & | operator= (const ObjectWithSemantic &other) |
ObjectWithSemantic & | operator= (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) | |
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.
Definition at line 20 of file ObjectWithSemantic.hpp.
Store in set to allow for logarithmic search.
Definition at line 23 of file ObjectWithSemantic.hpp.
|
inlineexplicit |
Definition at line 25 of file ObjectWithSemantic.hpp.
|
inlineexplicitprotected |
Definition at line 59 of file ObjectWithSemantic.hpp.
|
inlineexplicitprotected |
Definition at line 61 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 30 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 36 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 41 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 53 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 34 of file ObjectWithSemantic.hpp.
|
inline |
Definition at line 47 of file ObjectWithSemantic.hpp.