Template Struct ConfigBase

Nested Relationships

Nested Types

Struct Documentation

template<typename ConfigDerivedT, size_t num_members = 0, typename ...CustomMemberTypes>
struct ConfigBase

Public Types

using MemberTypes = param::PrimitiveValueTypes::Append<Meters<FloatingPoint>, Radians<FloatingPoint>, Pixels<FloatingPoint>, Seconds<FloatingPoint>>::Append<CustomMemberTypes...>
using MemberPointer = meta::inject_type_list_as_member_ptrs_t<std::variant, ConfigDerivedT, MemberTypes>
using MemberMap = const std::array<MemberMetadata, num_members>

Public Functions

inline virtual ~ConfigBase()
virtual bool isValid(bool verbose) const = 0
inline const ConfigDerivedT &checkValid() const

Public Static Functions

static std::optional<ConfigDerivedT> from(const param::Value &params)
static std::optional<ConfigDerivedT> from(const param::Value &params, const std::string &subconfig_name)

Public Static Attributes

static constexpr size_t kNumMembers = num_members

Friends

inline friend bool operator==(const ConfigDerivedT &lhs, const ConfigDerivedT &rhs)
inline friend bool operator!=(const ConfigDerivedT &lhs, const ConfigDerivedT &rhs)
struct MemberMetadata

Public Members

param::Name name
MemberPointer ptr