Skip to main content

chronon::Param

Self-registering parameter that hooks into its owning ParameterSet. More...

#include <Param.hpp>

Inherits from chronon::params::ParamBase

Public Functions

Name
virtual std::stringvalueAsString() const override
const T &value() const
virtual boolvalidate() const override
voidsetValue(const T & v)
Set value, applying validator if installed.
voidsetValidator(std::function< bool(const T &)> validator)
virtual voidsetFromString(const std::string & s) override
Parse s and assign it as the current value.
virtual voidreset() override
Param &operator=(const Param & ) =delete
Param &operator=(Param && ) =delete
Param &operator=(const T & v)
Assignment shorthand: params.num_requests = 50;
operator const T &() const
Implicit read access: uint32_t n = params.num_requests;
virtual const std::string &name() const override
virtual voidloadFromYAML(const void * yaml_node) override
Defined in [YAMLSerialization.hpp].
virtual boolisModified() const override
virtual const std::string &description() const override
const T &defaultValue() const
virtual std::stringdefaultAsString() const override
Param(ParameterSet * owner, const std::string & name, T default_val, const std::string & desc)
Construct and self-register with owner.
Param(const Param & ) =delete
Param(Param && ) =delete

Additional inherited members

Public Functions inherited from chronon::params::ParamBase

Name
virtual~ParamBase() =default

Detailed Description

template <ParameterType T>
class chronon::Param;

Self-registering parameter that hooks into its owning ParameterSet.

Template Parameters:

  • T Parameter value type satisfying ParameterType.

Registration in the constructor lets the owning set iterate every parameter without manual listing, which drives YAML serialization/deserialization.

class CPUParams : public ParameterSet {
public:
Param<uint32_t> num_requests{this, "num_requests", 100, "Number of requests"};
Param<uint32_t> request_delay{this, "request_delay", 1, "Request delay"};
};

uint32_t n = params.num_requests; // implicit conversion
params.num_requests = 50; // assignment

Public Functions Documentation

function valueAsString

inline virtual std::string valueAsString() const override

Reimplements: chronon::params::ParamBase::valueAsString

function value

inline const T & value() const

function validate

inline virtual bool validate() const override

Reimplements: chronon::params::ParamBase::validate

function setValue

inline void setValue(
const T & v
)

Set value, applying validator if installed.

Exceptions:

  • std::invalid_argument if validation fails.

function setValidator

inline void setValidator(
std::function< bool(const T &)> validator
)

function setFromString

inline virtual void setFromString(
const std::string & s
) override

Parse s and assign it as the current value.

Exceptions:

  • std::invalid_argument if parsing or validation fails.

Reimplements: chronon::params::ParamBase::setFromString

function reset

inline virtual void reset() override

Reimplements: chronon::params::ParamBase::reset

function operator=

Param & operator=(
const Param &
) =delete

function operator=

Param & operator=(
Param &&
) =delete

function operator=

inline Param & operator=(
const T & v
)

Assignment shorthand: params.num_requests = 50;

function operator const T &

inline operator const T &() const

Implicit read access: uint32_t n = params.num_requests;

function name

inline virtual const std::string & name() const override

Reimplements: chronon::params::ParamBase::name

function loadFromYAML

virtual void loadFromYAML(
const void * yaml_node
) override

Defined in [YAMLSerialization.hpp].

Reimplements: chronon::params::ParamBase::loadFromYAML

function isModified

inline virtual bool isModified() const override

Return: true if the current value differs from the default.

Reimplements: chronon::params::ParamBase::isModified

function description

inline virtual const std::string & description() const override

Reimplements: chronon::params::ParamBase::description

function defaultValue

inline const T & defaultValue() const

function defaultAsString

inline virtual std::string defaultAsString() const override

Reimplements: chronon::params::ParamBase::defaultAsString

function Param

Param(
ParameterSet * owner,
const std::string & name,
T default_val,
const std::string & desc
)

Construct and self-register with owner.

Parameters:

function Param

Param(
const Param &
) =delete

function Param

Param(
Param &&
) =delete

Updated on 2026-05-26 at 05:42:32 +0000