eckit::option::CmdArgs class

Base classes

class eckit::LocalConfiguration

Public types

using usage_proc = void(*)(const std::string&name)

Constructors, destructors, conversion operators

CmdArgs(usage_proc usage, int args_count = -1, int minimum_args = 0, bool throw_on_error = false)
CmdArgs(usage_proc usage, std::vector<Option*>& options, int args_count = -1, int minimum_args = 0, bool throw_on_error = false)
CmdArgs(std::function<void(const std::string&)> usage, std::vector<Option*>& options, int args_count = -1, int minimum_args = 0, bool throw_on_error = false)
~CmdArgs()

Public functions

auto operator()(size_t) const -> const std::string&
auto tool() const -> const std::string&
auto count() const -> size_t
void configure(Configured&) const
auto begin() const -> std::vector<std::string>::const_iterator
auto end() const -> std::vector<std::string>::const_iterator
auto begin() -> std::vector<std::string>::iterator
auto end() -> std::vector<std::string>::iterator
auto set(const Configuration& other) -> LocalConfiguration&
auto set(const std::string& name, const std::string& value) -> LocalConfiguration& override
auto set(const std::string& name, const char* value) -> LocalConfiguration& override
auto set(const std::string& name, bool value) -> LocalConfiguration& override
auto set(const std::string& name, int value) -> LocalConfiguration& override
auto set(const std::string& name, long value) -> LocalConfiguration& override
auto set(const std::string& name, long long value) -> LocalConfiguration&
auto set(const std::string& name, size_t value) -> LocalConfiguration& override
auto set(const std::string& name, float value) -> LocalConfiguration& override
auto set(const std::string& name, double value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<int>& value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<long>& value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<long long>& value) -> LocalConfiguration&
auto set(const std::string& name, const std::vector<size_t>& value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<float>& value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<double>& value) -> LocalConfiguration& override
auto set(const std::string& name, const std::vector<std::string>& value) -> LocalConfiguration& override
auto set(const std::string& name, const Configuration& value) -> LocalConfiguration&
template<typename ConfigurationT, typename = std::enable_if_t<std::is_base_of_v<Configuration, std::decay_t<ConfigurationT>>>>
auto set(const std::string& name, const std::vector<ConfigurationT>& value) -> LocalConfiguration&
template<typename ConfigurationT, typename = std::enable_if_t<std::is_base_of_v<Configuration, std::decay_t<ConfigurationT>>>>
auto set(const std::string& name, std::initializer_list<ConfigurationT>&& value) -> LocalConfiguration&
auto remove(const std::string& name) -> LocalConfiguration&
auto getBool(const std::string& name) const -> bool
auto getBool(const std::string& name, const bool& defaultValue) const -> bool
auto getInt(const std::string& name) const -> int
auto getInt(const std::string& name, const int& defaultValue) const -> int
auto getLong(const std::string& name) const -> long
auto getLong(const std::string& name, const long& defaultValue) const -> long
auto getUnsigned(const std::string& name) const -> std::size_t
auto getUnsigned(const std::string& name, const std::size_t& defaultValue) const -> std::size_t
auto getInt32(const std::string& name) const -> std::int32_t
auto getInt32(const std::string& name, const std::int32_t& defaultValue) const -> std::int32_t
auto getInt64(const std::string& name) const -> std::int64_t
auto getInt64(const std::string& name, const std::int64_t& defaultValue) const -> std::int64_t
auto getFloat(const std::string& name) const -> float
auto getFloat(const std::string& name, const float& defaultValue) const -> float
auto getDouble(const std::string& name) const -> double
auto getDouble(const std::string& name, const double& defaultValue) const -> double
auto getString(const std::string& name) const -> std::string
auto getString(const std::string& name, const std::string& defaultValue) const -> std::string
auto getIntVector(const std::string& name) const -> std::vector<int>
auto getIntVector(const std::string& name, const std::vector<int>& defaultValue) const -> std::vector<int>
auto getLongVector(const std::string& name) const -> std::vector<long>
auto getLongVector(const std::string& name, const std::vector<long>& defaultValue) const -> std::vector<long>
auto getUnsignedVector(const std::string& name) const -> std::vector<std::size_t>
auto getUnsignedVector(const std::string& name, const std::vector<std::size_t>& defaultValue) const -> std::vector<std::size_t>
auto getInt32Vector(const std::string& name) const -> std::vector<std::int32_t>
auto getInt32Vector(const std::string& name, const std::vector<std::int32_t>& defaultValue) const -> std::vector<std::int32_t>
auto getInt64Vector(const std::string& name) const -> std::vector<std::int64_t>
auto getInt64Vector(const std::string& name, const std::vector<std::int64_t>& defaultValue) const -> std::vector<std::int64_t>
auto getFloatVector(const std::string& name) const -> std::vector<float>
auto getFloatVector(const std::string& name, const std::vector<float>& defaultValue) const -> std::vector<float>
auto getDoubleVector(const std::string& name) const -> std::vector<double>
auto getDoubleVector(const std::string& name, const std::vector<double>& defaultValue) const -> std::vector<double>
auto getStringVector(const std::string& name) const -> std::vector<std::string>
auto getStringVector(const std::string& name, const std::vector<std::string>& defaultValue) const -> std::vector<std::string>
auto empty() const -> bool
auto keys() const -> std::vector<std::string>
auto getSubConfigurations(const std::string& name) const -> std::vector<LocalConfiguration>
auto getSubConfigurations() const -> std::vector<LocalConfiguration>
auto getSubConfiguration(const std::string& name) const -> LocalConfiguration
auto separator() const -> char
auto has(const std::string& name) const -> bool override
auto get(const std::string& name, std::string& value) const -> bool override
auto get(const std::string& name, bool& value) const -> bool override
auto get(const std::string& name, int& value) const -> bool override
auto get(const std::string& name, long& value) const -> bool override
auto get(const std::string& name, long long& value) const -> bool override
auto get(const std::string& name, std::size_t& value) const -> bool override
auto get(const std::string& name, float& value) const -> bool override
auto get(const std::string& name, double& value) const -> bool override
auto get(const std::string& name, std::vector<int>& value) const -> bool override
auto get(const std::string& name, std::vector<long>& value) const -> bool override
auto get(const std::string& name, std::vector<long long>& value) const -> bool override
auto get(const std::string& name, std::vector<std::size_t>& value) const -> bool override
auto get(const std::string& name, std::vector<float>& value) const -> bool override
auto get(const std::string& name, std::vector<double>& value) const -> bool override
auto get(const std::string& name, std::vector<std::string>& value) const -> bool override
auto get(const std::string& name, std::vector<LocalConfiguration>&) const -> bool
auto get(const std::string& name, LocalConfiguration&) const -> bool
auto get() const -> const Value&
auto get(const std::string& name, size_t& value) const -> bool pure virtual
auto get(const std::string& name, std::vector<size_t>& value) const -> bool pure virtual
void hash(eckit::Hash&) const virtual
auto isSubConfiguration(const std::string& name) const -> bool
auto isIntegral(const std::string& name) const -> bool
auto isBoolean(const std::string& name) const -> bool
auto isFloatingPoint(const std::string& name) const -> bool
auto isString(const std::string& name) const -> bool
auto isList(const std::string& name) const -> bool
auto isSubConfigurationList(const std::string& name) const -> bool
auto isIntegralList(const std::string& name) const -> bool
auto isBooleanList(const std::string& name) const -> bool
auto isFloatingPointList(const std::string& name) const -> bool
auto isStringList(const std::string& name) const -> bool
auto isNull(const std::string& name) const -> bool
template<typename T>
auto isConvertible(const std::string& name) const -> bool
template<typename T>
auto isConvertible(const std::string& name, T&) const -> bool

Private functions

void print(std::ostream&) const override

Function documentation

eckit::option::CmdArgs::CmdArgs(usage_proc usage, std::vector<Option*>& options, int args_count = -1, int minimum_args = 0, bool throw_on_error = false)

Initialise argument parser with a list of options

LocalConfiguration& eckit::option::CmdArgs::set(const Configuration& other)

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::string& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const char* value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, bool value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, int value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, long value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, long long value)

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, size_t value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, float value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, double value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<int>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<long>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<long long>& value)

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<size_t>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<float>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<double>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<std::string>& value) override

LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const Configuration& value)

template<typename ConfigurationT, typename = std::enable_if_t<std::is_base_of_v<Configuration, std::decay_t<ConfigurationT>>>>
LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, const std::vector<ConfigurationT>& value)

template<typename ConfigurationT, typename = std::enable_if_t<std::is_base_of_v<Configuration, std::decay_t<ConfigurationT>>>>
LocalConfiguration& eckit::option::CmdArgs::set(const std::string& name, std::initializer_list<ConfigurationT>&& value)

LocalConfiguration& eckit::option::CmdArgs::remove(const std::string& name)

bool eckit::option::CmdArgs::getBool(const std::string& name) const

bool eckit::option::CmdArgs::getBool(const std::string& name, const bool& defaultValue) const

int eckit::option::CmdArgs::getInt(const std::string& name) const

int eckit::option::CmdArgs::getInt(const std::string& name, const int& defaultValue) const

long eckit::option::CmdArgs::getLong(const std::string& name) const

long eckit::option::CmdArgs::getLong(const std::string& name, const long& defaultValue) const

std::size_t eckit::option::CmdArgs::getUnsigned(const std::string& name) const

std::size_t eckit::option::CmdArgs::getUnsigned(const std::string& name, const std::size_t& defaultValue) const

std::int32_t eckit::option::CmdArgs::getInt32(const std::string& name) const

std::int32_t eckit::option::CmdArgs::getInt32(const std::string& name, const std::int32_t& defaultValue) const

std::int64_t eckit::option::CmdArgs::getInt64(const std::string& name) const

std::int64_t eckit::option::CmdArgs::getInt64(const std::string& name, const std::int64_t& defaultValue) const

float eckit::option::CmdArgs::getFloat(const std::string& name) const

float eckit::option::CmdArgs::getFloat(const std::string& name, const float& defaultValue) const

double eckit::option::CmdArgs::getDouble(const std::string& name) const

double eckit::option::CmdArgs::getDouble(const std::string& name, const double& defaultValue) const

std::string eckit::option::CmdArgs::getString(const std::string& name) const

std::string eckit::option::CmdArgs::getString(const std::string& name, const std::string& defaultValue) const

std::vector<int> eckit::option::CmdArgs::getIntVector(const std::string& name) const

std::vector<int> eckit::option::CmdArgs::getIntVector(const std::string& name, const std::vector<int>& defaultValue) const

std::vector<long> eckit::option::CmdArgs::getLongVector(const std::string& name) const

std::vector<long> eckit::option::CmdArgs::getLongVector(const std::string& name, const std::vector<long>& defaultValue) const

std::vector<std::size_t> eckit::option::CmdArgs::getUnsignedVector(const std::string& name) const

std::vector<std::size_t> eckit::option::CmdArgs::getUnsignedVector(const std::string& name, const std::vector<std::size_t>& defaultValue) const

std::vector<std::int32_t> eckit::option::CmdArgs::getInt32Vector(const std::string& name) const

std::vector<std::int32_t> eckit::option::CmdArgs::getInt32Vector(const std::string& name, const std::vector<std::int32_t>& defaultValue) const

std::vector<std::int64_t> eckit::option::CmdArgs::getInt64Vector(const std::string& name) const

std::vector<std::int64_t> eckit::option::CmdArgs::getInt64Vector(const std::string& name, const std::vector<std::int64_t>& defaultValue) const

std::vector<float> eckit::option::CmdArgs::getFloatVector(const std::string& name) const

std::vector<float> eckit::option::CmdArgs::getFloatVector(const std::string& name, const std::vector<float>& defaultValue) const

std::vector<double> eckit::option::CmdArgs::getDoubleVector(const std::string& name) const

std::vector<double> eckit::option::CmdArgs::getDoubleVector(const std::string& name, const std::vector<double>& defaultValue) const

std::vector<std::string> eckit::option::CmdArgs::getStringVector(const std::string& name) const

std::vector<std::string> eckit::option::CmdArgs::getStringVector(const std::string& name, const std::vector<std::string>& defaultValue) const

bool eckit::option::CmdArgs::empty() const

std::vector<std::string> eckit::option::CmdArgs::keys() const

LocalConfiguration eckit::option::CmdArgs::getSubConfiguration(const std::string& name) const

char eckit::option::CmdArgs::separator() const

bool eckit::option::CmdArgs::has(const std::string& name) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::string& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, bool& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, int& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, long& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, long long& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::size_t& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, float& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, double& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<int>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<long>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<long long>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<std::size_t>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<float>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<double>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<std::string>& value) const override

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<LocalConfiguration>&) const

bool eckit::option::CmdArgs::get(const std::string& name, LocalConfiguration&) const

const Value& eckit::option::CmdArgs::get() const

bool eckit::option::CmdArgs::get(const std::string& name, size_t& value) const pure virtual

bool eckit::option::CmdArgs::get(const std::string& name, std::vector<size_t>& value) const pure virtual

void eckit::option::CmdArgs::hash(eckit::Hash&) const virtual

bool eckit::option::CmdArgs::isSubConfiguration(const std::string& name) const

bool eckit::option::CmdArgs::isIntegral(const std::string& name) const

bool eckit::option::CmdArgs::isBoolean(const std::string& name) const

bool eckit::option::CmdArgs::isFloatingPoint(const std::string& name) const

bool eckit::option::CmdArgs::isString(const std::string& name) const

bool eckit::option::CmdArgs::isList(const std::string& name) const

bool eckit::option::CmdArgs::isSubConfigurationList(const std::string& name) const

bool eckit::option::CmdArgs::isIntegralList(const std::string& name) const

bool eckit::option::CmdArgs::isBooleanList(const std::string& name) const

bool eckit::option::CmdArgs::isFloatingPointList(const std::string& name) const

bool eckit::option::CmdArgs::isStringList(const std::string& name) const

bool eckit::option::CmdArgs::isNull(const std::string& name) const

template<typename T>
bool eckit::option::CmdArgs::isConvertible(const std::string& name) const

template<typename T>
bool eckit::option::CmdArgs::isConvertible(const std::string& name, T&) const