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

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.