chronon::ParamBase
Type-erased interface for self-registering parameters. More...
#include <ParamBase.hpp>
Inherited by chronon::params::Param< T >
Public Functions
| Name | |
|---|---|
| virtual | ~ParamBase() =default |
| virtual std::string | valueAsString() const =0 |
| virtual bool | validate() const =0 |
| virtual void | setFromString(const std::string & s) =0 Parse s and assign it as the current value. |
| virtual void | reset() =0 |
| virtual const std::string & | name() const =0 |
| virtual void | loadFromYAML(const void * yaml_node) =0 Load from a YAML node passed type-erased as const YAML::Node*. |
| virtual bool | isModified() const =0 |
| virtual const std::string & | description() const =0 |
| virtual std::string | defaultAsString() const =0 |
Detailed Description
class chronon::ParamBase;
Type-erased interface for self-registering parameters.
Lets ParameterSet iterate every parameter without knowing the concrete Param
Public Functions Documentation
function ~ParamBase
virtual ~ParamBase() =default
function valueAsString
virtual std::string valueAsString() const =0
function validate
virtual bool validate() const =0
function setFromString
virtual void setFromString(
const std::string & s
) =0
Parse s and assign it as the current value.
Exceptions:
- std::invalid_argument if parsing or validation fails.
function reset
virtual void reset() =0
function name
virtual const std::string & name() const =0
function loadFromYAML
virtual void loadFromYAML(
const void * yaml_node
) =0
Load from a YAML node passed type-erased as const YAML::Node*.
Type-erased so headers don't drag in yaml-cpp. Implementations look up a key matching [name()](/docs/api/Classes/classchronon_1_1params_1_1ParamBase#function-name) on the node and assign if present.
function isModified
virtual bool isModified() const =0
Return: true if the current value differs from the default.
function description
virtual const std::string & description() const =0
function defaultAsString
virtual std::string defaultAsString() const =0
Updated on 2026-05-26 at 05:42:32 +0000