AnnotatedType.hpp

A base class to provide a DataMap and accessors to derived classes.

Note

Status: ALPHA

class AnnotatedType
#include <AnnotatedType.hpp>

A generic base class implementing the use of dynamic traits via DataMaps.

Public Functions

inline DataMap &GetDataMap()
inline const DataMap &GetDataMap() const
inline void SetDataMap(DataMap &in_dm)
inline DataLayout &GetDataLayout()
inline const DataLayout &GetDataLayout() const
inline bool HasTraitID(size_t id) const
inline bool HasTrait(const std::string &name) const
template<typename T>
inline bool TestTraitType(size_t id) const
template<typename T>
inline bool TestTraitType(const std::string &name) const
inline size_t GetTraitID(const std::string &name) const
template<typename T, typename KEY_T>
inline auto &GetTrait(KEY_T &&key)
template<typename T, typename KEY_T>
inline auto GetTrait(KEY_T &&key, size_t count)
template<typename T, typename KEY_T>
inline const auto &GetTrait(KEY_T &&key) const
template<typename T, typename KEY_T>
inline auto GetTrait(KEY_T &&key, size_t count) const
template<typename T>
inline T &SetTrait(size_t id, const T &val)
template<typename T>
inline T &SetTrait(const std::string &name, const T &val)
inline TypeID GetTraitType(size_t id) const
inline TypeID GetTraitType(const std::string &name) const
inline double GetTraitAsDouble(size_t id) const
inline double GetTraitAsDouble(size_t trait_id, TypeID type_id) const
inline std::string GetTraitAsString(size_t id) const
inline std::string GetTraitAsString(size_t trait_id, TypeID type_id, size_t count = 1) const

Private Members

DataMap data_map

Dynamic variables assigned to this class.