kaycxx-cli
C++ CLI library
Loading...
Searching...
No Matches
Public Member Functions | List of all members
kaycxx::cli::parameter_base Class Referenceabstract

Common base class for positional parameter definitions. More...

#include <kaycxx/cli/parameter_base.hpp>

Inheritance diagram for kaycxx::cli::parameter_base:
Inheritance graph
[legend]

Public Member Functions

 parameter_base (std::string_view name, std::optional< std::string_view > description=std::nullopt)
 Creates a positional parameter definition.
 
virtual ~parameter_base ()=default
 Destroys the parameter definition.
 
std::string constname () const noexcept
 Returns the parameter name.
 
std::optional< std::string > constdescription () const noexcept
 Returns the parameter description.
 
virtual std::string usage () const =0
 Returns generated help usage for this parameter.
 
virtual std::size_t min_count () const noexcept=0
 Returns the minimum number of values consumed by this parameter.
 
virtual std::size_t max_count () const noexcept=0
 Returns the maximum number of values consumed by this parameter.
 
virtual std::any parse_values (std::span< std::string_view const > values) const =0
 Parses positional parameter values.
 

Detailed Description

Common base class for positional parameter definitions.

Constructor & Destructor Documentation

◆ parameter_base()

kaycxx::cli::parameter_base::parameter_base ( std::string_view  name,
std::optional< std::string_view >  description = std::nullopt 
)
explicit

Creates a positional parameter definition.

Parameters
namePlaceholder name used by generated help output and parse errors.
descriptionOptional human-readable parameter description used by generated help output.

Member Function Documentation

◆ description()

std::optional< std::string > const & kaycxx::cli::parameter_base::description ( ) const
noexcept

Returns the parameter description.

Returns
Human-readable description or an empty optional if no description was configured.

◆ max_count()

virtual std::size_t kaycxx::cli::parameter_base::max_count ( ) const
pure virtualnoexcept

Returns the maximum number of values consumed by this parameter.

Returns
Maximum value count.

Implemented in kaycxx::cli::parameter< T >, and kaycxx::cli::parameters< T >.

◆ min_count()

virtual std::size_t kaycxx::cli::parameter_base::min_count ( ) const
pure virtualnoexcept

Returns the minimum number of values consumed by this parameter.

Returns
Minimum value count.

Implemented in kaycxx::cli::parameter< T >, and kaycxx::cli::parameters< T >.

◆ name()

std::string const & kaycxx::cli::parameter_base::name ( ) const
noexcept

Returns the parameter name.

Returns
Placeholder name used by generated help output and parse errors.

◆ parse_values()

virtual std::any kaycxx::cli::parameter_base::parse_values ( std::span< std::string_view const values) const
pure virtual

Parses positional parameter values.

Parameters
valuesValue texts to parse.
Returns
Parsed values stored in type-erased form.
Exceptions
parse_errorWhen a value is syntactically invalid or a required value is missing.

Implemented in kaycxx::cli::parameter< T >, and kaycxx::cli::parameters< T >.

◆ usage()

virtual std::string kaycxx::cli::parameter_base::usage ( ) const
pure virtual

Returns generated help usage for this parameter.

Returns
Usage text.

Implemented in kaycxx::cli::parameter< T >, and kaycxx::cli::parameters< T >.


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