template<class T>
eckit::option::BaseOption class

Base classes

class Option

Derived classes

template<class T>
class SimpleOption

Public types

using args_t = std::vector<std::string>

Public static functions

template<typename T>
static void copy(const std::string& name, const Configuration& from, Configured& to)

Constructors, destructors, conversion operators

BaseOption(const std::string& name, const std::string& description)
BaseOption(const std::string& name, const std::string& description, const T& default_value)
BaseOption(const std::string& name, const std::string& description, std::optional<T> default_value)
~BaseOption() defaulted override

Public functions

auto defaultValue(const std::string& value) -> Option*
void setDefault(Configured& parametrisation) const final
auto name() const -> const std::string&
auto description() const -> const std::string&
auto active() const -> bool virtual
auto set(Configured& param, size_t values, args_t::const_iterator begin, args_t::const_iterator end) const -> size_t pure virtual
void copy(const Configuration& from, Configured& to) const pure virtual

Private functions

void set_value(const T& value, Configured& parametrisation) const pure virtual
auto translate(const std::string& value) const -> T pure virtual