19 using arg_ptr_t = std::shared_ptr<detail::argument_base>;
37 return this->
type == other.type and this->
value == other.value;
Defines the base argument class and common utility.
Structure representing a single command-line argument token.
std::vector< arg_ptr_t > arg_ptr_vec_t
arg_ptr_vec_t args
The corresponding argument.
std::shared_ptr< detail::argument_base > arg_ptr_t
Argument pointer type alias.
token_type type
The token's type discrimiator value.
bool is_flag_token() const noexcept
Checks whether the type member is a flag token type.
bool operator==(const argument_token &other) const noexcept
Equality operator for comparing argument_token instances.
std::string value
The actual token's value.
bool is_valid_flag_token() const noexcept
Checks whether the token represents a valid flag.
token_type
The token type discriminator.
@ t_flag_compound
Represents a compound flag argument (secondary flag matching multiple arguments).
@ t_value
Represents a value argument.
@ t_flag_secondary
Represents a secondary (-) flag argument.
@ t_flag_primary
Represents a primary (–) flag argument.