cli20 0.1.2
A C++20 typed-schema command-line parser
Loading...
Searching...
No Matches
argument_base.hh File Reference

Go to the source code of this file.

Classes

struct  cli::SpecMemberTag
 Base tag for all members that may appear in an argument specification struct. More...
struct  cli::OptionTag
 Tag base class for command-line option/flag fields. More...
struct  cli::PositionalTag
 Tag base class for positional argument fields. More...
struct  cli::CommandTag
 Tag base class for subcommand fields. More...
struct  cli::DescriptionTag
 Tag base class for the Description field that provides the CLI's help text. More...
struct  cli::Nargs
 Specifies the minimum and maximum number of values an option or positional accepts. More...

Namespaces

namespace  cli
namespace  cli::nargs

Enumerations

enum class  cli::Presence { cli::required , cli::optional }
 Controls whether an option or positional argument is mandatory. More...

Variables

constexpr auto cli::required = Presence::required
 Convenience constant for Presence::required.
constexpr auto cli::optional = Presence::optional
 Convenience constant for Presence::optional.
constexpr Nargs cli::nargs::none {.min = 0, .max = 0}
 Accepts no values; used for boolean flags.
constexpr Nargs cli::nargs::one {.min = 1, .max = 1}
 Accepts exactly one value.
constexpr Nargs cli::nargs::zero_or_one {.min = 0, .max = 1}
 Accepts zero or one value.
constexpr Nargs cli::nargs::zero_or_more {.min = 0, .max = -1}
 Accepts zero or more values.
constexpr Nargs cli::nargs::one_or_more {.min = 1, .max = -1}
 Accepts one or more values.
template<int N>
constexpr Nargs cli::nargs::exactly {.min = N, .max = N}
template<int Min, int Max>
constexpr Nargs cli::nargs::between {.min = Min, .max = Max}