Simo 0.0.1
Loading...
Searching...
No Matches
Simo::Parameter::ParameterTyped< T > Class Template Reference

A Parameter with a type. More...

#include <Parameter.h>

Inheritance diagram for Simo::Parameter::ParameterTyped< T >:
Simo::Parameter::Parameter

Public Types

using Validator = std::function<bool(const T&)>

Public Member Functions

 BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS (Parameter)
 ParameterTyped (const T &value)
 ParameterTyped (const T &&value)
ParameterTyped & validator (Validator validator)
ParameterTyped & value (const T &value)
std::expected< Parameter *, std::string > value_from_generic (const glz::generic_u64 &glz_value) override
value () const
bool validate () const override
std::unique_ptr< Parameter > clone () const override
Public Member Functions inherited from Simo::Parameter::Parameter
boost::typeindex::type_index type () const
bool has_value () const
template<typename Self>
Self & has_value (this Self &self, const bool new_val)

Protected Attributes

Validator validator_ {}
value_ {}
Protected Attributes inherited from Simo::Parameter::Parameter
bool has_value_ = false

Detailed Description

template<typename T>
class Simo::Parameter::ParameterTyped< T >

A Parameter with a type.

Member Function Documentation

◆ clone()

template<typename T>
std::unique_ptr< Parameter > Simo::Parameter::ParameterTyped< T >::clone ( ) const
inlinenodiscardoverridevirtual

◆ validate()

template<typename T>
bool Simo::Parameter::ParameterTyped< T >::validate ( ) const
inlinenodiscardoverridevirtual

◆ value_from_generic()

template<typename T>
std::expected< Parameter *, std::string > Simo::Parameter::ParameterTyped< T >::value_from_generic ( const glz::generic_u64 & glz_value)
inlinenodiscardoverridevirtual

The documentation for this class was generated from the following files: