|
| template<typename EnumType > |
| std::vector< std::string > | extractEnumStrings (std::initializer_list< EnumStringPair< EnumType > > pairs) |
| | Extract non-null string values from a list of enum-string pairs.
|
| |
| void | applyTag (FieldMeta &meta, const Config::RangeTag &tag) |
| |
| void | applyTag (FieldMeta &meta, const Config::InfoTag &tag) |
| |
| void | applyTag (FieldMeta &meta, const Config::EnumValuesTag &tag) |
| |
| void | applyTags (FieldMeta &) |
| |
| template<typename Tag , typename... Rest> |
| void | applyTags (FieldMeta &meta, Tag &&tag, Rest &&...rest) |
| |
| template<typename T , typename V > |
| std::function< nlohmann::ordered_json()> | makeSchemaEntry (V T::*member, const char *desc, const FieldMeta &meta) |
| | Build the schemaEntry closure from a fully-tagged FieldMeta.
|
| |
| template<typename T , typename V > |
| std::function< void(const nlohmann::ordered_json &, const char *)> | makeRangeChecker (const FieldMeta &meta) |
| | Build a runtime range-check closure.
|
| |
Eigen matrix/vector types serialize as JSON arrays, so map them to Array. Detection uses the Scalar typedef and RowsAtCompileTime enum that all Eigen matrix expressions expose — no Eigen headers needed here.
template<typename T , typename V >
| std::function< void(const nlohmann::ordered_json &, const char *)> DNDS::detail::makeRangeChecker |
( |
const FieldMeta & |
meta | ) |
|
Build a runtime range-check closure.
Returns a function that, given a JSON value for this field, checks it against min/max bounds and throws on violation. Returns nullptr if no range constraint is set.
Definition at line 310 of file ConfigParam.hpp.
template<typename T , typename V >
| std::function< nlohmann::ordered_json()> DNDS::detail::makeSchemaEntry |
( |
V T::* |
member, |
|
|
const char * |
desc, |
|
|
const FieldMeta & |
meta |
|
) |
| |
Build the schemaEntry closure from a fully-tagged FieldMeta.
Captures the pointer-to-member, description, and all tag data (range, enum, aux info) to produce the JSON Schema fragment on demand.
Definition at line 273 of file ConfigParam.hpp.