Skip to main content

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::stringvalueAsString() const =0
virtual boolvalidate() const =0
virtual voidsetFromString(const std::string & s) =0
Parse s and assign it as the current value.
virtual voidreset() =0
virtual const std::string &name() const =0
virtual voidloadFromYAML(const void * yaml_node) =0
Load from a YAML node passed type-erased as const YAML::Node*.
virtual boolisModified() const =0
virtual const std::string &description() const =0
virtual std::stringdefaultAsString() const =0

Detailed Description

class chronon::ParamBase;

Type-erased interface for self-registering parameters.

Lets ParameterSet iterate every parameter without knowing the concrete Param type, which is what drives YAML serialization/deserialization.

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