cli20 0.1.2
A C++20 typed-schema command-line parser
Loading...
Searching...
No Matches
cli::PositionalImpl< N, A > Struct Template Reference

#include <argument.hh>

Inheritance diagram for cli::PositionalImpl< N, A >:
cli::PositionalTag cli::SpecMemberTag

Public Types

using value_type

Public Member Functions

 PositionalImpl ()
 PositionalImpl (ArgParameter< value_type > param)
auto on_parse () -> void
auto value () const -> const value_type &
auto value () -> value_type &
auto provided () const -> bool
auto occurrences () const -> std::size_t
 operator bool () const
auto operator* () -> value_type &
auto operator* () const -> const value_type &
auto operator-> () -> value_type *
auto operator-> () const -> const value_type *
template<class U>
auto value_or (U &&fallback) const -> value_type
 operator std::optional< value_type > () const
auto help_text () const -> const std::string_view
auto hidden () const -> bool
auto deprecated () const -> std::string_view
auto presence () const -> Presence
auto env () const -> std::string_view
auto default_value () const -> const std::optional< value_type > &

Static Public Attributes

static constexpr auto nargs = N

Protected Member Functions

auto get_param () const -> const ArgParameter< value_type > &
auto invoke_action (std::string_view text, std::size_t arg_index, std::size_t occurrence_nargs=1, std::size_t value_index=0) -> ActionResult< void >

Static Protected Attributes

static constexpr bool entry_is_optional

Friends

template<ArgumentSpec>
struct Parser

Detailed Description

template<Nargs N, Action A>
requires requires { 0 <= N.min; -1 <= N.max; (N.max == -1 || N.min <= N.max); }
struct cli::PositionalImpl< N, A >

Definition at line 270 of file argument.hh.

Member Typedef Documentation

◆ value_type

template<Nargs N, Action A>
using cli::PositionalImpl< N, A >::value_type
Initial value:
typename std::remove_cvref_t<decltype(std::get<1>(A.validate()))>::type

Definition at line 271 of file argument.hh.

Constructor & Destructor Documentation

◆ PositionalImpl() [1/2]

template<Nargs N, Action A>
cli::PositionalImpl< N, A >::PositionalImpl ( )
inline

Definition at line 274 of file argument.hh.

◆ PositionalImpl() [2/2]

template<Nargs N, Action A>
cli::PositionalImpl< N, A >::PositionalImpl ( ArgParameter< value_type > param)
inline

Definition at line 275 of file argument.hh.

Member Function Documentation

◆ default_value()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::default_value ( ) const -> const std::optional< value_type > &
inlinenodiscard

Definition at line 318 of file argument.hh.

◆ deprecated()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::deprecated ( ) const -> std::string_view
inlinenodiscard

Definition at line 313 of file argument.hh.

◆ env()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::env ( ) const -> std::string_view
inlinenodiscard

Definition at line 317 of file argument.hh.

◆ get_param()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::get_param ( ) const -> const ArgParameter< value_type > &
inlinenodiscardprotected

Definition at line 323 of file argument.hh.

◆ help_text()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::help_text ( ) const -> const std::string_view
inlinenodiscard

Definition at line 309 of file argument.hh.

◆ hidden()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::hidden ( ) const -> bool
inlinenodiscard

Definition at line 312 of file argument.hh.

◆ invoke_action()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::invoke_action ( std::string_view text,
std::size_t arg_index,
std::size_t occurrence_nargs = 1,
std::size_t value_index = 0 ) -> ActionResult< void >
inlineprotected

Definition at line 331 of file argument.hh.

◆ occurrences()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::occurrences ( ) const -> std::size_t
inlinenodiscard

Definition at line 289 of file argument.hh.

◆ on_parse()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::on_parse ( ) -> void
inline

Definition at line 282 of file argument.hh.

◆ operator bool()

template<Nargs N, Action A>
cli::PositionalImpl< N, A >::operator bool ( ) const
inlineexplicitnodiscard

Definition at line 292 of file argument.hh.

◆ operator std::optional< value_type >()

template<Nargs N, Action A>
cli::PositionalImpl< N, A >::operator std::optional< value_type > ( ) const
inlineexplicitnodiscard

Definition at line 304 of file argument.hh.

◆ operator*() [1/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::operator* ( ) -> value_type &
inlinenodiscard

Definition at line 293 of file argument.hh.

◆ operator*() [2/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::operator* ( ) const -> const value_type &
inlinenodiscard

Definition at line 294 of file argument.hh.

◆ operator->() [1/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::operator-> ( ) -> value_type *
inlinenodiscard

Definition at line 295 of file argument.hh.

◆ operator->() [2/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::operator-> ( ) const -> const value_type *
inlinenodiscard

Definition at line 296 of file argument.hh.

◆ presence()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::presence ( ) const -> Presence
inlinenodiscard

Definition at line 316 of file argument.hh.

◆ provided()

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::provided ( ) const -> bool
inlinenodiscard

Definition at line 288 of file argument.hh.

◆ value() [1/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::value ( ) -> value_type &
inlinenodiscard

Definition at line 287 of file argument.hh.

◆ value() [2/2]

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::value ( ) const -> const value_type &
inlinenodiscard

Definition at line 286 of file argument.hh.

◆ value_or()

template<Nargs N, Action A>
template<class U>
auto cli::PositionalImpl< N, A >::value_or ( U && fallback) const -> value_type
inlinenodiscard

Definition at line 299 of file argument.hh.

◆ Parser

template<Nargs N, Action A>
template<ArgumentSpec>
friend struct Parser
friend

Definition at line 356 of file argument.hh.

Member Data Documentation

◆ entry_is_optional

template<Nargs N, Action A>
bool cli::PositionalImpl< N, A >::entry_is_optional
staticconstexprprotected
Initial value:
=
std::remove_cvref_t<decltype(A)>::entry_is_optional
static constexpr bool entry_is_optional
Definition argument.hh:327

Definition at line 327 of file argument.hh.

◆ nargs

template<Nargs N, Action A>
auto cli::PositionalImpl< N, A >::nargs = N
staticconstexpr

Definition at line 279 of file argument.hh.


The documentation for this struct was generated from the following file: