esp::core::config namespace

Configuration functionality.

Classes

class Configuration
This class holds configuration data in a map of ConfigValues, and also supports nested configurations via a map of smart pointers to this type.
class ConfigValue
This class uses an anonymous tagged union to store values of different types, as well as providing access to the values in a type safe manner.

Enums

enum class ConfigStoredType { Unknown = ID_UNDEFINED, Boolean, Integer, Double, MagnumVec2, MagnumVec3, MagnumVec4, MagnumMat3, MagnumQuat, MagnumRad, _nonTrivialTypes, String = _nonTrivialTypes }
This enum lists every type of value that can be currently stored directly in an esp::core::config::Configuration. All supported types should have entries in this enum class. All non-trivial types should have their enums placed below _nonTrivialTypes tag.

Functions

void initConfigBindings(pybind11::module& m)
Specify bindings for esp::core::config::Configuration.
auto getNameForStoredType(const ConfigStoredType& value) -> std::string
Retrieve a string description of the passed ConfigStoredType enum value.
auto isConfigStoredTypeNonTrivial(ConfigStoredType type) -> bool constexpr
Quick check to see if type is trivial or not.
template<class T>
auto configStoredTypeFor() -> ConfigStoredType constexpr
Function template to return type enum for specified type. All supported types should have a specialization of this function handling their type to ConfigStoredType enum tags mapping.
template<>
auto configStoredTypeFor<bool>() -> ConfigStoredType constexpr
Returns ConfigStoredType::Boolean type enum for specified type.
template<>
auto configStoredTypeFor<int>() -> ConfigStoredType constexpr
Returns ConfigStoredType::Integer type enum for specified type.
template<>
auto configStoredTypeFor<double>() -> ConfigStoredType constexpr
Returns ConfigStoredType::Double type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Vector2>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumVec2 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Vector3>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumVec3 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Color3>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumVec3 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Vector4>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumVec4 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Color4>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumVec4 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Matrix3>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumMat3 type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Quaternion>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumQuat type enum for specified type.
template<>
auto configStoredTypeFor<Mn::Rad>() -> ConfigStoredType constexpr
Returns ConfigStoredType::MagnumRad type enum for specified type.
auto operator<<(Mn::Debug& debug, const ConfigStoredType& value) -> MAGNUM_EXPORT Mn::Debug&
Stream operator to support display of ConfigStoredType enum tags.
auto operator!=(const ConfigValue& a, const ConfigValue& b) -> bool
Inequality Comparison.
auto operator<<(Mn::Debug& debug, const ConfigValue& value) -> MAGNUM_EXPORT Mn::Debug&
provide debug stream support for ConfigValue
auto operator<<(Mn::Debug& debug, const Configuration& value) -> MAGNUM_EXPORT Mn::Debug&
provide debug stream support for a Configuration

Enum documentation

enum class esp::core::config::ConfigStoredType

This enum lists every type of value that can be currently stored directly in an esp::core::config::Configuration. All supported types should have entries in this enum class. All non-trivial types should have their enums placed below _nonTrivialTypes tag.

Enumerators
Unknown

Unknown type.

Boolean

boolean type

Integer

integer type

Double

double type

MagnumVec2

Magnum::Vector2 type.

MagnumVec3

Magnum::Vector3 type.

MagnumVec4

Magnum::Vector4 type.

MagnumMat3

Magnum::Matrix3 (3x3) type.

MagnumQuat

Magnum::Quaternion type.

MagnumRad

Magnum::Rad angle type.

_nonTrivialTypes

String

All enum values of nontrivial types must be added after String .

Function documentation

void esp::core::config::initConfigBindings(pybind11::module& m)

Specify bindings for esp::core::config::Configuration.

std::string esp::core::config::getNameForStoredType(const ConfigStoredType& value)

Retrieve a string description of the passed ConfigStoredType enum value.

bool esp::core::config::isConfigStoredTypeNonTrivial(ConfigStoredType type) constexpr

Quick check to see if type is trivial or not.

template<class T>
ConfigStoredType esp::core::config::configStoredTypeFor() constexpr

Function template to return type enum for specified type. All supported types should have a specialization of this function handling their type to ConfigStoredType enum tags mapping.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<bool>() constexpr

Returns ConfigStoredType::Boolean type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<int>() constexpr

Returns ConfigStoredType::Integer type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<double>() constexpr

Returns ConfigStoredType::Double type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Vector2>() constexpr

Returns ConfigStoredType::MagnumVec2 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Vector3>() constexpr

Returns ConfigStoredType::MagnumVec3 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Color3>() constexpr

Returns ConfigStoredType::MagnumVec3 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Vector4>() constexpr

Returns ConfigStoredType::MagnumVec4 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Color4>() constexpr

Returns ConfigStoredType::MagnumVec4 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Matrix3>() constexpr

Returns ConfigStoredType::MagnumMat3 type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Quaternion>() constexpr

Returns ConfigStoredType::MagnumQuat type enum for specified type.

template<>
ConfigStoredType esp::core::config::configStoredTypeFor<Mn::Rad>() constexpr

Returns ConfigStoredType::MagnumRad type enum for specified type.

MAGNUM_EXPORT Mn::Debug& esp::core::config::operator<<(Mn::Debug& debug, const ConfigStoredType& value)

Stream operator to support display of ConfigStoredType enum tags.

bool esp::core::config::operator!=(const ConfigValue& a, const ConfigValue& b)

Inequality Comparison.

MAGNUM_EXPORT Mn::Debug& esp::core::config::operator<<(Mn::Debug& debug, const ConfigValue& value)

provide debug stream support for ConfigValue

MAGNUM_EXPORT Mn::Debug& esp::core::config::operator<<(Mn::Debug& debug, const Configuration& value)

provide debug stream support for a Configuration