Iros
 
Loading...
Searching...
No Matches
di::cli::detail::Parser< Base > Class Template Reference

#include <di/cli/parser.h>

Public Member Functions

constexpr Parser (StringView app_name, StringView description)
 
template<auto member>
requires (concepts::MemberObjectPointer<decltype(member)> && concepts::SameAs<Base, meta::MemberPointerClass<decltype(member)>>)
constexpr auto option (Optional< char > short_name, Optional< TransparentStringView > long_name, StringView description, bool required=false, bool always_succeed=false) &&
 
constexpr auto help (Optional< char > short_name={}, Optional< TransparentStringView > long_name="help"_tsv, StringView description="Print help message"_sv)
 
template<auto member>
requires (concepts::MemberObjectPointer<decltype(member)> && concepts::SameAs<Base, meta::MemberPointerClass<decltype(member)>>)
constexpr auto argument (StringView name, StringView description, bool required=false) &&
 
constexpr auto parse (Span< TransparentStringView > args) -> Result< Base >
 
template<Impl< io::Writer > Writer>
constexpr void write_help (Writer &writer) const
 
constexpr auto help_string () const
 

Constructor & Destructor Documentation

◆ Parser()

template<concepts::Object Base>
di::cli::detail::Parser< Base >::Parser ( StringView app_name,
StringView description )
inlineexplicitconstexpr

Member Function Documentation

◆ argument()

template<concepts::Object Base>
template<auto member>
requires (concepts::MemberObjectPointer<decltype(member)> && concepts::SameAs<Base, meta::MemberPointerClass<decltype(member)>>)
auto di::cli::detail::Parser< Base >::argument ( StringView name,
StringView description,
bool required = false ) &&
inlineconstexpr

◆ help()

template<concepts::Object Base>
auto di::cli::detail::Parser< Base >::help ( Optional< char > short_name = {},
Optional< TransparentStringView > long_name = "help"_tsv,
StringView description = "Print help message"_sv )
inlineconstexpr

◆ help_string()

template<concepts::Object Base>
auto di::cli::detail::Parser< Base >::help_string ( ) const
inlineconstexpr

◆ option()

template<concepts::Object Base>
template<auto member>
requires (concepts::MemberObjectPointer<decltype(member)> && concepts::SameAs<Base, meta::MemberPointerClass<decltype(member)>>)
auto di::cli::detail::Parser< Base >::option ( Optional< char > short_name,
Optional< TransparentStringView > long_name,
StringView description,
bool required = false,
bool always_succeed = false ) &&
inlineconstexpr

◆ parse()

template<concepts::Object Base>
auto di::cli::detail::Parser< Base >::parse ( Span< TransparentStringView > args) -> Result<Base>
inlineconstexpr

◆ write_help()

template<concepts::Object Base>
template<Impl< io::Writer > Writer>
void di::cli::detail::Parser< Base >::write_help ( Writer & writer) const
inlineconstexpr

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