Class slamcore::MetaDataInterface

class slamcore::MetaDataInterface : public ObjectInterface

Representing metadata.

Metadata value getters.

template<typename T>
inline std::error_code getValue(T &val, typename std::enable_if<std::is_integral<T>::value, T>::type* = 0) const
template<typename T>
inline std::error_code getValue(T &val, typename std::enable_if<std::is_enum<T>::value, T>::type* = 0) const
template<typename T>
inline std::error_code getValue(T &val, typename std::enable_if<std::is_floating_point<T>::value, T>::type* = 0) const
inline std::error_code getValue(std::string &val) const

Public Types

enum ValueType

Values:

enumerator Integer
enumerator Floating
enumerator String
enumerator Count
using Ptr = std::shared_ptr<MetaDataInterface>
using CPtr = std::shared_ptr<const MetaDataInterface>

Public Functions

inline virtual ObjectType type() const

Type of the object.

virtual MetaDataID getID() const = 0

Get MetaData ID

virtual ValueType getValueType() const = 0

Type of the value we store.

inline virtual std::size_t getIndex() const

[OPTIONAL] Get index value.