24namespace kaycxx::cli {
31template <parseable_value T>
50 default_value_ = std::move(
value);
59 return std::format(
"<{}>",
name());
68 return default_value_ ? 0 : 1;
92 return *default_value_;
99 return detail::parse_value<T>(
values.front());
107 std::optional<T> default_value_;
Handle for a registered option.
Definition option_handle.hpp:25
Common base class for positional parameter definitions.
Definition parameter_base.hpp:23
std::optional< std::string > const & description() const noexcept
Returns the parameter description.
std::string const & name() const noexcept
Returns the parameter name.
Typed single positional parameter definition.
Definition parameter.hpp:32
void default_value(T value)
Sets the default parameter value.
Definition parameter.hpp:49
std::string usage() const override
Returns generated help usage for this parameter.
Definition parameter.hpp:58
std::size_t max_count() const noexcept override
Returns the maximum number of values consumed by this parameter.
Definition parameter.hpp:76
std::any parse_values(std::span< std::string_view const > values) const override
Parses this positional parameter.
Definition parameter.hpp:89
parameter(std::string_view name, std::optional< std::string_view > description=std::nullopt)
Creates a positional parameter definition.
Definition parameter.hpp:40
std::size_t min_count() const noexcept override
Returns the minimum number of values consumed by this parameter.
Definition parameter.hpp:67
Error thrown when command line arguments cannot be parsed.
Definition parse_error.hpp:19
Defines the common base class for positional parameters.
Defines the command line parse error type.
Defines value parsing support used by typed options and positional parameters.