clipp Namespace Reference

primary namespace More...

Namespaces

 debug
 printing methods for debugging command line interfaces
 
 detail
 helpers (NOT FOR DIRECT USE IN CLIENT CODE!) no interface guarantees; might be changed or removed in the future
 
 match
 contains parameter matching functions and function classes
 
 str
 string matching and processing tools
 
 traits
 type traits (NOT FOR DIRECT USE IN CLIENT CODE!) no interface guarantees; might be changed or removed in the future
 

Classes

class  doc_formatting
 documentation formatting options More...
 
class  documentation
 generates parameter and group documentation from docstrings More...
 
class  group
 group of parameters and/or other groups; can be configured to act as a group of alternatives (exclusive match) More...
 
class  man_page
 stores strings for man page sections More...
 
class  param_filter
 filter predicate for parameters and groups; Can be used to limit documentation generation to parameter subsets. More...
 
class  parameter
 command line parameter that can match one or many arguments. More...
 
class  parser
 default command line arguments parser More...
 
class  parsing_result
 contains argument -> parameter mappings and missing parameters More...
 
class  subrange
 (start,size) index range More...
 
class  usage_lines
 generates usage lines More...
 

Typedefs

using arg_index = int
 
using arg_string = std::string
 
using doc_string = std::string
 
using arg_list = std::vector< arg_string >
 
using match_predicate = std::function< bool(const arg_string &)>
 match predicates More...
 
using match_function = std::function< subrange(const arg_string &)>
 
using pattern = group::child
 group or parameter More...
 

Enumerations

enum  tri : char { tri::no, tri::yes, tri::either }
 tristate More...
 

Functions

constexpr bool operator== (tri t, bool b) noexcept
 
constexpr bool operator== (bool b, tri t) noexcept
 
constexpr bool operator!= (tri t, bool b) noexcept
 
constexpr bool operator!= (bool b, tri t) noexcept
 
template<class T , class V >
detail::assign_value< T, V > set (T &target, V value)
 makes function object with a const char* parameter that assigns a value to a ref-captured object More...
 
template<class T >
detail::map_arg_to< T > set (T &target)
 makes parameter-less function object that assigns value(s) to a ref-captured object; value(s) are obtained by converting the const char* argument to the captured object types; bools are always set to true if the argument is not nullptr More...
 
detail::assign_value< boolset (bool &target)
 makes function object that sets a bool to true More...
 
detail::assign_value< boolunset (bool &target)
 makes function object that sets a bool to false More...
 
detail::flip_bool flip (bool &b)
 makes function object that flips the value of a ref-captured bool More...
 
template<class T >
detail::increment< T > increment (T &target)
 makes function object that increments using operator ++ More...
 
template<class T >
detail::increment_by< T > increment (T &target, T by)
 makes function object that decrements using operator – More...
 
template<class T >
detail::decrement< T > decrement (T &target)
 makes function object that increments by a fixed amount using operator += More...
 
template<class String , class... Strings>
parameter command (String &&flag, Strings &&... flags)
 makes required non-blocking exact match parameter More...
 
template<class String , class... Strings>
parameter required (String &&flag, Strings &&... flags)
 makes required non-blocking exact match parameter More...
 
template<class String , class... Strings>
parameter option (String &&flag, Strings &&... flags)
 makes optional, non-blocking exact match parameter More...
 
template<class... Targets>
parameter value (const doc_string &label, Targets &&... tgts)
 makes required, blocking, repeatable value parameter; matches any non-empty string More...
 
template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter value (Filter &&filter, doc_string label, Targets &&... tgts)
 
template<class... Targets>
parameter values (const doc_string &label, Targets &&... tgts)
 makes required, blocking, repeatable value parameter; matches any non-empty string More...
 
template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter values (Filter &&filter, doc_string label, Targets &&... tgts)
 
template<class... Targets>
parameter opt_value (const doc_string &label, Targets &&... tgts)
 makes optional, blocking value parameter; matches any non-empty string More...
 
template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter opt_value (Filter &&filter, doc_string label, Targets &&... tgts)
 
template<class... Targets>
parameter opt_values (const doc_string &label, Targets &&... tgts)
 makes optional, blocking, repeatable value parameter; matches any non-empty string More...
 
template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter opt_values (Filter &&filter, doc_string label, Targets &&... tgts)
 
template<class... Targets>
parameter word (const doc_string &label, Targets &&... tgts)
 makes required, blocking value parameter; matches any string consisting of alphanumeric characters More...
 
template<class... Targets>
parameter words (const doc_string &label, Targets &&... tgts)
 makes required, blocking, repeatable value parameter; matches any string consisting of alphanumeric characters More...
 
template<class... Targets>
parameter opt_word (const doc_string &label, Targets &&... tgts)
 makes optional, blocking value parameter; matches any string consisting of alphanumeric characters More...
 
template<class... Targets>
parameter opt_words (const doc_string &label, Targets &&... tgts)
 makes optional, blocking, repeatable value parameter; matches any string consisting of alphanumeric characters More...
 
template<class... Targets>
parameter number (const doc_string &label, Targets &&... tgts)
 makes required, blocking value parameter; matches any string that represents a number More...
 
template<class... Targets>
parameter numbers (const doc_string &label, Targets &&... tgts)
 makes required, blocking, repeatable value parameter; matches any string that represents a number More...
 
template<class... Targets>
parameter opt_number (const doc_string &label, Targets &&... tgts)
 makes optional, blocking value parameter; matches any string that represents a number More...
 
template<class... Targets>
parameter opt_numbers (const doc_string &label, Targets &&... tgts)
 makes optional, blocking, repeatable value parameter; matches any string that represents a number More...
 
template<class... Targets>
parameter integer (const doc_string &label, Targets &&... tgts)
 makes required, blocking value parameter; matches any string that represents an integer More...
 
template<class... Targets>
parameter integers (const doc_string &label, Targets &&... tgts)
 makes required, blocking, repeatable value parameter; matches any string that represents an integer More...
 
template<class... Targets>
parameter opt_integer (const doc_string &label, Targets &&... tgts)
 makes optional, blocking value parameter; matches any string that represents an integer More...
 
template<class... Targets>
parameter opt_integers (const doc_string &label, Targets &&... tgts)
 makes optional, blocking, repeatable value parameter; matches any string that represents an integer More...
 
template<class... Targets>
parameter any_other (Targets &&... tgts)
 makes catch-all value parameter More...
 
group operator, (parameter a, parameter b)
 makes a group of parameters and/or groups More...
 
group operator, (parameter a, group b)
 
group operator, (group a, parameter b)
 
group operator, (group a, group b)
 
template<class Param , class... Params>
group one_of (Param param, Params... params)
 makes a group of alternative parameters or groups More...
 
group operator| (parameter a, parameter b)
 makes a group of alternative parameters or groups More...
 
group operator| (parameter a, group b)
 
group operator| (group a, parameter b)
 
group operator| (group a, group b)
 
template<class Param , class... Params>
group in_sequence (Param param, Params... params)
 makes a parameter/group sequence by making all input objects blocking More...
 
group operator& (parameter a, parameter b)
 makes a parameter/group sequence by making all input objects blocking More...
 
group operator& (parameter a, group b)
 
group operator& (group a, parameter b)
 
group operator& (group a, group b)
 
groupjoinable (group &param)
 makes a group of parameters and/or groups where all single char flag params ("-a", "b", ...) are joinable More...
 
group && joinable (group &&param)
 
template<class... Params>
group joinable (parameter param, Params... params)
 
template<class P2 , class... Ps>
group joinable (group p1, P2 p2, Ps... ps)
 
template<class Param , class... Params>
group joinable (doc_string docstr, Param param, Params... params)
 
parameter repeatable (parameter p)
 makes a repeatable copy of a parameter More...
 
group repeatable (group g)
 makes a repeatable copy of a group More...
 
template<class P2 , class... Ps>
group repeatable (parameter p1, P2 p2, Ps... ps)
 makes a group of parameters and/or groups that is repeatable as a whole Note that a repeatable group consisting entirely of non-blocking children is equivalent to a non-repeatable group of repeatable children. More...
 
template<class P2 , class... Ps>
group repeatable (group p1, P2 p2, Ps... ps)
 
parameter && with_prefix (const arg_string &prefix, parameter &&p)
 recursively prepends a prefix to all flags More...
 
groupwith_prefix (const arg_string &prefix, group &params)
 
group && with_prefix (const arg_string &prefix, group &&params)
 
template<class Param , class... Params>
group with_prefix (arg_string prefix, Param &&param, Params &&... params)
 
parameter && with_prefixes_short_long (const arg_string &shortpfx, const arg_string &longpfx, parameter &&p)
 recursively prepends a prefix to all flags More...
 
groupwith_prefixes_short_long (const arg_string &shortFlagPrefix, const arg_string &longFlagPrefix, group &params)
 
group && with_prefixes_short_long (const arg_string &shortFlagPrefix, const arg_string &longFlagPrefix, group &&params)
 
template<class Param , class... Params>
group with_prefixes_short_long (const arg_string &shortFlagPrefix, const arg_string &longFlagPrefix, Param &&param, Params &&... params)
 
parsing_result parse (arg_list args, const group &cli)
 parses vector of arg strings and executes actions More...
 
parsing_result parse (std::initializer_list< const char * > arglist, const group &cli)
 parses initializer_list of C-style arg strings and executes actions More...
 
template<class InputIterator >
parsing_result parse (InputIterator first, InputIterator last, const group &cli)
 parses range of arg strings and executes actions More...
 
parsing_result parse (const int argc, char *argv[], const group &cli, arg_index offset=1)
 parses the standard array of command line arguments; omits argv[0] More...
 
man_page make_man_page (const group &params, doc_string progname="", const doc_formatting &fmt=doc_formatting{})
 generates man sections from command line parameters with sections "synopsis" and "options" More...
 
template<class OStream >
OStream & operator<< (OStream &os, const man_page &man)
 generates man page based on command line parameters More...
 

Detailed Description

primary namespace

Typedef Documentation

◆ arg_index

using clipp::arg_index = typedef int

Definition at line 53 of file clipp.h.

◆ arg_list

using clipp::arg_list = typedef std::vector<arg_string>

Definition at line 58 of file clipp.h.

◆ arg_string

using clipp::arg_string = typedef std::string

Definition at line 55 of file clipp.h.

◆ doc_string

using clipp::doc_string = typedef std::string

Definition at line 56 of file clipp.h.

◆ match_function

using clipp::match_function = typedef std::function<subrange(const arg_string&)>

Definition at line 127 of file clipp.h.

◆ match_predicate

using clipp::match_predicate = typedef std::function<bool(const arg_string&)>

match predicates

Definition at line 126 of file clipp.h.

◆ pattern

using clipp::pattern = typedef group::child

group or parameter

Definition at line 3359 of file clipp.h.

Enumeration Type Documentation

◆ tri

enum clipp::tri : char
strong

tristate

Enumerator
no 
yes 
either 

Definition at line 67 of file clipp.h.

Function Documentation

◆ any_other()

template<class... Targets>
parameter clipp::any_other ( Targets &&...  tgts)
inline

makes catch-all value parameter

Definition at line 2429 of file clipp.h.

◆ command()

template<class String , class... Strings>
parameter clipp::command ( String &&  flag,
Strings &&...  flags 
)
inline

makes required non-blocking exact match parameter

Definition at line 2048 of file clipp.h.

◆ decrement()

template<class T >
detail::decrement<T> clipp::decrement ( T &  target)
inline

makes function object that increments by a fixed amount using operator +=

Definition at line 1141 of file clipp.h.

◆ flip()

detail::flip_bool clipp::flip ( bool b)
inline

makes function object that flips the value of a ref-captured bool

Definition at line 1104 of file clipp.h.

◆ in_sequence()

template<class Param , class... Params>
group clipp::in_sequence ( Param  param,
Params...  params 
)
inline

makes a parameter/group sequence by making all input objects blocking

Definition at line 3484 of file clipp.h.

◆ increment() [1/2]

template<class T >
detail::increment<T> clipp::increment ( T &  target)
inline

makes function object that increments using operator ++

Definition at line 1119 of file clipp.h.

◆ increment() [2/2]

template<class T >
detail::increment_by<T> clipp::increment ( T &  target,
by 
)
inline

makes function object that decrements using operator –

Definition at line 1130 of file clipp.h.

◆ integer()

template<class... Targets>
parameter clipp::integer ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking value parameter; matches any string that represents an integer

Definition at line 2358 of file clipp.h.

◆ integers()

template<class... Targets>
parameter clipp::integers ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking, repeatable value parameter; matches any string that represents an integer

Definition at line 2376 of file clipp.h.

◆ joinable() [1/5]

template<class Param , class... Params>
group clipp::joinable ( doc_string  docstr,
Param  param,
Params...  params 
)
inline

Definition at line 3578 of file clipp.h.

◆ joinable() [2/5]

group&& clipp::joinable ( group &&  param)
inline

Definition at line 3557 of file clipp.h.

◆ joinable() [3/5]

group& clipp::joinable ( group param)
inline

makes a group of parameters and/or groups where all single char flag params ("-a", "b", ...) are joinable

Definition at line 3552 of file clipp.h.

◆ joinable() [4/5]

template<class P2 , class... Ps>
group clipp::joinable ( group  p1,
P2  p2,
Ps...  ps 
)
inline

Definition at line 3571 of file clipp.h.

◆ joinable() [5/5]

template<class... Params>
group clipp::joinable ( parameter  param,
Params...  params 
)
inline

Definition at line 3564 of file clipp.h.

◆ make_man_page()

man_page clipp::make_man_page ( const group params,
doc_string  progname = "",
const doc_formatting fmt = doc_formatting{} 
)
inline

generates man sections from command line parameters with sections "synopsis" and "options"

Definition at line 6086 of file clipp.h.

◆ number()

template<class... Targets>
parameter clipp::number ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking value parameter; matches any string that represents a number

Definition at line 2286 of file clipp.h.

◆ numbers()

template<class... Targets>
parameter clipp::numbers ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking, repeatable value parameter; matches any string that represents a number

Definition at line 2304 of file clipp.h.

◆ one_of()

template<class Param , class... Params>
group clipp::one_of ( Param  param,
Params...  params 
)
inline

makes a group of alternative parameters or groups

Definition at line 3413 of file clipp.h.

◆ operator!=() [1/2]

constexpr bool clipp::operator!= ( bool  b,
tri  t 
)
inlineconstexprnoexcept

Definition at line 74 of file clipp.h.

◆ operator!=() [2/2]

constexpr bool clipp::operator!= ( tri  t,
bool  b 
)
inlineconstexprnoexcept

Definition at line 73 of file clipp.h.

◆ operator&() [1/4]

group clipp::operator& ( group  a,
group  b 
)
inline

Definition at line 3529 of file clipp.h.

◆ operator&() [2/4]

group clipp::operator& ( group  a,
parameter  b 
)
inline

Definition at line 3514 of file clipp.h.

◆ operator&() [3/4]

group clipp::operator& ( parameter  a,
group  b 
)
inline

Definition at line 3506 of file clipp.h.

◆ operator&() [4/4]

group clipp::operator& ( parameter  a,
parameter  b 
)
inline

makes a parameter/group sequence by making all input objects blocking

Definition at line 3497 of file clipp.h.

◆ operator,() [1/4]

group clipp::operator, ( group  a,
group  b 
)
inline

Definition at line 3396 of file clipp.h.

◆ operator,() [2/4]

group clipp::operator, ( group  a,
parameter  b 
)
inline

Definition at line 3386 of file clipp.h.

◆ operator,() [3/4]

group clipp::operator, ( parameter  a,
group  b 
)
inline

Definition at line 3376 of file clipp.h.

◆ operator,() [4/4]

group clipp::operator, ( parameter  a,
parameter  b 
)
inline

makes a group of parameters and/or groups

Definition at line 3369 of file clipp.h.

◆ operator<<()

template<class OStream >
OStream& clipp::operator<< ( OStream &  os,
const man_page man 
)

generates man page based on command line parameters

Definition at line 6104 of file clipp.h.

◆ operator==() [1/2]

constexpr bool clipp::operator== ( bool  b,
tri  t 
)
inlineconstexprnoexcept

Definition at line 72 of file clipp.h.

◆ operator==() [2/2]

constexpr bool clipp::operator== ( tri  t,
bool  b 
)
inlineconstexprnoexcept

Definition at line 69 of file clipp.h.

◆ operator|() [1/4]

group clipp::operator| ( group  a,
group  b 
)
inline

Definition at line 3453 of file clipp.h.

◆ operator|() [2/4]

group clipp::operator| ( group  a,
parameter  b 
)
inline

Definition at line 3443 of file clipp.h.

◆ operator|() [3/4]

group clipp::operator| ( parameter  a,
group  b 
)
inline

Definition at line 3432 of file clipp.h.

◆ operator|() [4/4]

group clipp::operator| ( parameter  a,
parameter  b 
)
inline

makes a group of alternative parameters or groups

Definition at line 3425 of file clipp.h.

◆ opt_integer()

template<class... Targets>
parameter clipp::opt_integer ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking value parameter; matches any string that represents an integer

Definition at line 2394 of file clipp.h.

◆ opt_integers()

template<class... Targets>
parameter clipp::opt_integers ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking, repeatable value parameter; matches any string that represents an integer

Definition at line 2412 of file clipp.h.

◆ opt_number()

template<class... Targets>
parameter clipp::opt_number ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking value parameter; matches any string that represents a number

Definition at line 2322 of file clipp.h.

◆ opt_numbers()

template<class... Targets>
parameter clipp::opt_numbers ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking, repeatable value parameter; matches any string that represents a number

Definition at line 2340 of file clipp.h.

◆ opt_value() [1/2]

template<class... Targets>
parameter clipp::opt_value ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking value parameter; matches any non-empty string

Definition at line 2154 of file clipp.h.

◆ opt_value() [2/2]

template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter clipp::opt_value ( Filter &&  filter,
doc_string  label,
Targets &&...  tgts 
)
inline

Definition at line 2166 of file clipp.h.

◆ opt_values() [1/2]

template<class... Targets>
parameter clipp::opt_values ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking, repeatable value parameter; matches any non-empty string

Definition at line 2184 of file clipp.h.

◆ opt_values() [2/2]

template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter clipp::opt_values ( Filter &&  filter,
doc_string  label,
Targets &&...  tgts 
)
inline

Definition at line 2196 of file clipp.h.

◆ opt_word()

template<class... Targets>
parameter clipp::opt_word ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking value parameter; matches any string consisting of alphanumeric characters

Definition at line 2250 of file clipp.h.

◆ opt_words()

template<class... Targets>
parameter clipp::opt_words ( const doc_string label,
Targets &&...  tgts 
)
inline

makes optional, blocking, repeatable value parameter; matches any string consisting of alphanumeric characters

Definition at line 2268 of file clipp.h.

◆ option()

template<class String , class... Strings>
parameter clipp::option ( String &&  flag,
Strings &&...  flags 
)
inline

makes optional, non-blocking exact match parameter

Definition at line 2078 of file clipp.h.

◆ parse() [1/4]

parsing_result clipp::parse ( arg_list  args,
const group cli 
)
inline

parses vector of arg strings and executes actions

Definition at line 4941 of file clipp.h.

◆ parse() [2/4]

parsing_result clipp::parse ( const int  argc,
char *  argv[],
const group cli,
arg_index  offset = 1 
)
inline

parses the standard array of command line arguments; omits argv[0]

Definition at line 4985 of file clipp.h.

◆ parse() [3/4]

template<class InputIterator >
parsing_result clipp::parse ( InputIterator  first,
InputIterator  last,
const group cli 
)
inline

parses range of arg strings and executes actions

Definition at line 4973 of file clipp.h.

◆ parse() [4/4]

parsing_result clipp::parse ( std::initializer_list< const char * >  arglist,
const group cli 
)
inline

parses initializer_list of C-style arg strings and executes actions

Definition at line 4954 of file clipp.h.

◆ repeatable() [1/4]

group clipp::repeatable ( group  g)
inline

makes a repeatable copy of a group

Definition at line 3602 of file clipp.h.

◆ repeatable() [2/4]

template<class P2 , class... Ps>
group clipp::repeatable ( group  p1,
P2  p2,
Ps...  ps 
)
inline

Definition at line 3627 of file clipp.h.

◆ repeatable() [3/4]

parameter clipp::repeatable ( parameter  p)
inline

makes a repeatable copy of a parameter

Definition at line 3592 of file clipp.h.

◆ repeatable() [4/4]

template<class P2 , class... Ps>
group clipp::repeatable ( parameter  p1,
P2  p2,
Ps...  ps 
)
inline

makes a group of parameters and/or groups that is repeatable as a whole Note that a repeatable group consisting entirely of non-blocking children is equivalent to a non-repeatable group of repeatable children.

Definition at line 3619 of file clipp.h.

◆ required()

template<class String , class... Strings>
parameter clipp::required ( String &&  flag,
Strings &&...  flags 
)
inline

makes required non-blocking exact match parameter

Definition at line 2063 of file clipp.h.

◆ set() [1/3]

detail::assign_value<bool> clipp::set ( bool target)
inline

makes function object that sets a bool to true

Definition at line 1084 of file clipp.h.

◆ set() [2/3]

template<class T >
detail::map_arg_to<T> clipp::set ( T &  target)
inline

makes parameter-less function object that assigns value(s) to a ref-captured object; value(s) are obtained by converting the const char* argument to the captured object types; bools are always set to true if the argument is not nullptr

Definition at line 1072 of file clipp.h.

◆ set() [3/3]

template<class T , class V >
detail::assign_value<T,V> clipp::set ( T &  target,
value 
)
inline

makes function object with a const char* parameter that assigns a value to a ref-captured object

Definition at line 1055 of file clipp.h.

◆ unset()

detail::assign_value<bool> clipp::unset ( bool target)
inline

makes function object that sets a bool to false

Definition at line 1094 of file clipp.h.

◆ value() [1/2]

template<class... Targets>
parameter clipp::value ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking, repeatable value parameter; matches any non-empty string

Definition at line 2094 of file clipp.h.

◆ value() [2/2]

template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter clipp::value ( Filter &&  filter,
doc_string  label,
Targets &&...  tgts 
)
inline

Definition at line 2106 of file clipp.h.

◆ values() [1/2]

template<class... Targets>
parameter clipp::values ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking, repeatable value parameter; matches any non-empty string

Definition at line 2124 of file clipp.h.

◆ values() [2/2]

template<class Filter , class... Targets, class = typename std::enable_if< traits::is_callable<Filter,bool(const char*)>::value || traits::is_callable<Filter,subrange(const char*)>::value>::type>
parameter clipp::values ( Filter &&  filter,
doc_string  label,
Targets &&...  tgts 
)
inline

Definition at line 2136 of file clipp.h.

◆ with_prefix() [1/4]

template<class Param , class... Params>
group clipp::with_prefix ( arg_string  prefix,
Param &&  param,
Params &&...  params 
)
inline

Definition at line 3670 of file clipp.h.

◆ with_prefix() [2/4]

group&& clipp::with_prefix ( const arg_string prefix,
group &&  params 
)
inline

Definition at line 3662 of file clipp.h.

◆ with_prefix() [3/4]

group& clipp::with_prefix ( const arg_string prefix,
group params 
)
inline

Definition at line 3648 of file clipp.h.

◆ with_prefix() [4/4]

parameter&& clipp::with_prefix ( const arg_string prefix,
parameter &&  p 
)
inline

recursively prepends a prefix to all flags

Definition at line 3641 of file clipp.h.

◆ with_prefixes_short_long() [1/4]

group&& clipp::with_prefixes_short_long ( const arg_string shortFlagPrefix,
const arg_string longFlagPrefix,
group &&  params 
)
inline

Definition at line 3712 of file clipp.h.

◆ with_prefixes_short_long() [2/4]

group& clipp::with_prefixes_short_long ( const arg_string shortFlagPrefix,
const arg_string longFlagPrefix,
group params 
)
inline

Definition at line 3696 of file clipp.h.

◆ with_prefixes_short_long() [3/4]

template<class Param , class... Params>
group clipp::with_prefixes_short_long ( const arg_string shortFlagPrefix,
const arg_string longFlagPrefix,
Param &&  param,
Params &&...  params 
)
inline

Definition at line 3723 of file clipp.h.

◆ with_prefixes_short_long() [4/4]

parameter&& clipp::with_prefixes_short_long ( const arg_string shortpfx,
const arg_string longpfx,
parameter &&  p 
)
inline

recursively prepends a prefix to all flags

Parameters
shortpfx: used for single-letter flags
longpfx: used for flags with length > 1

Definition at line 3687 of file clipp.h.

◆ word()

template<class... Targets>
parameter clipp::word ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking value parameter; matches any string consisting of alphanumeric characters

Definition at line 2214 of file clipp.h.

◆ words()

template<class... Targets>
parameter clipp::words ( const doc_string label,
Targets &&...  tgts 
)
inline

makes required, blocking, repeatable value parameter; matches any string consisting of alphanumeric characters

Definition at line 2232 of file clipp.h.