The format that contains all helper functions needed in all formats for printing the interface description of the application (to std::cout).
More...
#include <seqan3/argument_parser/detail/format_base.hpp>
|
void | add_flag (bool &value, char const short_id, std::string const &long_id, std::string const &desc, option_spec const spec) |
| Adds a seqan3::print_list_item call to be evaluated later on.
|
|
void | add_line (std::string const &text, bool is_paragraph, option_spec const spec) |
| Adds a print_line call to parser_set_up_calls.
|
|
void | add_list_item (std::string const &key, std::string const &desc, option_spec const spec) |
| Adds a seqan3::print_list_item call to parser_set_up_calls.
|
|
template<typename option_type , typename validator_type > |
void | add_option (option_type &value, char const short_id, std::string const &long_id, std::string const &desc, option_spec const spec, validator_type &&option_validator) |
| Adds a seqan3::print_list_item call to be evaluated later on.
|
|
template<typename option_type , typename validator_type > |
void | add_positional_option (option_type &value, std::string const &desc, validator_type &option_validator) |
| Adds a seqan3::print_list_item call to be evaluated later on.
|
|
void | add_section (std::string const &title, option_spec const spec) |
| Adds a print_section call to parser_set_up_calls.
|
|
void | add_subsection (std::string const &title, option_spec const spec) |
| Adds a print_subsection call to parser_set_up_calls.
|
|
void | parse (argument_parser_meta_data &parser_meta) |
| Initiates the printing of the help page to std::cout.
|
|
|
friend | derived_type |
| Befriend the derived type so it can access private functions.
|
|
argument_parser_meta_data | meta |
| Stores all meta information about the application.
|
|
|
derived_type & | derived_t () |
| Returns the derived type.
|
|
void | print_legal () |
| Prints the legal information.
|
|
void | print_line (std::string const &text) |
| Delegates to seqan3::print_line(std::string const & text, true) of each format.
|
|
void | print_synopsis () |
| Prints a synopsis in any format.
|
|
void | print_version () |
| Prints the version information.
|
|
std::string | escape_special_xml_chars (std::string const &original) |
| Escapes certain characters for correct output.
|
|
|
std::vector< std::string > | command_names {} |
| The names of subcommand programs.
|
|
std::vector< std::function< void()> > | parser_set_up_calls |
| Vector of functions that stores all calls except add_positional_option.
|
|
std::vector< std::function< void()> > | positional_option_calls |
| Vector of functions that stores add_positional_option calls.
|
|
unsigned | positional_option_count {0} |
| Keeps track of the number of positional options.
|
|
bool | show_advanced_options {true} |
| Whether to show advanced options or not.
|
|
template<typename
derived_type>
class seqan3::detail::format_help_base< derived_type >
The format that contains all helper functions needed in all formats for printing the interface description of the application (to std::cout).
◆ format_help_base()
◆ add_flag()
Adds a seqan3::print_list_item call to be evaluated later on.
- Parameters
-
[in,out] | value | The variable which shows whether the flag is turned off (default) or on. |
[in] | short_id | The short identifier for the flag (e.g. 'i'). |
[in] | long_id | The long identifier for the flag (e.g. "integer"). |
[in] | desc | The description of the flag to be shown in the help page. |
[in] | spec | Advanced flag specification, see seqan3::option_spec. |
- Exceptions
-
◆ add_line()
Adds a print_line call to parser_set_up_calls.
- Parameters
-
If the line is not a paragraph (false), only one line break is appended, otherwise two line breaks are appended. This only affects the help page and other output formats.
◆ add_list_item()
Adds a seqan3::print_list_item call to parser_set_up_calls.
- Parameters
-
Note: This only affects the help page and other output formats.
A list item is composed of a key (key
) and value (desc
) and usually used for option identifier-description-pairs. E.g.:
-a, --age LONG
Super important integer for age.
◆ add_option()
template<typename option_type , typename validator_type >
Adds a seqan3::print_list_item call to be evaluated later on.
- Template Parameters
-
option_type | Must have a formatted input function (stream >> value). If option_type is a container, its value type must have the formatted input function (exception: std::string is not regarded as a container). See FormattedInputFunction . |
validator_type | The type of validator to be applied to the option value. Must model seqan3::validator. |
- Parameters
-
[in,out] | value | The variable in which to store the given command line argument. |
[in] | short_id | The short identifier for the option (e.g. 'a'). |
[in] | long_id | The long identifier for the option (e.g. "age"). |
[in] | desc | The description of the option to be shown in the help page. |
[in] | spec | Advanced option specification, see seqan3::option_spec. |
[in] | option_validator | A seqan3::validator that verifies the value after parsing (callable). |
- Exceptions
-
◆ add_positional_option()
template<typename option_type , typename validator_type >
Adds a seqan3::print_list_item call to be evaluated later on.
- Template Parameters
-
option_type | Must have a formatted input function (stream >> value). If option_type is a container, its value type must have the formatted input function (exception: std::string is not regarded as a container). See FormattedInputFunction . |
validator_type | The type of validator to be applied to the option value. Must model seqan3::validator. |
- Parameters
-
[in,out] | value | The variable in which to store the given command line argument. |
[in] | desc | The description of the positional option to be shown in the help page. |
[in] | option_validator | A seqan3::validator that verifies the value after parsing (callable). |
- Exceptions
-
The validator must be applicable to the given output variable (value
).
◆ add_section()
Adds a print_section call to parser_set_up_calls.
- Parameters
-
This only affects the help page and other output formats.
◆ add_subsection()
Adds a print_subsection call to parser_set_up_calls.
- Parameters
-
This only affects the help page and other output formats.
◆ parse()
Initiates the printing of the help page to std::cout.
- Parameters
-
[in] | parser_meta | The meta information that are needed for a detailed help page. |
◆ print_line()
Delegates to seqan3::print_line(std::string const & text, true) of each format.
- Parameters
-
[in] | text | The text to print. |
◆ store_help_page_element()
Adds a function object to parser_set_up_calls if the annotation in spec
does not prevent it.
- Parameters
-
[in] | printer | The invokable that, if added to parser_set_up_calls , prints information to the help page. |
[in] | spec | The option specification deciding whether to add the information to the help page. |
If spec
equals seqan3::option_spec::hidden
, the information is never added to the help page. If spec
equals seqan3::option_spec::advanced
, the information is only added to the help page if the advanced help page has been queried on the command line (show_advanced_options == true
).
◆ meta
Stores all meta information about the application.
This needs to be a member of format_parse, because it needs to present (not filled) when the parser_set_up_calls vector is filled, since all printing functions need some meta information. The member variable itself is filled when copied over from the argument_parser when calling format_parse::parse. That way all the information needed are there, when the actual printing starts.
This function is not private because it is needed for short but nicely formatted (error) output to the command line.
The documentation for this class was generated from the following file: