40 template <
typename value_type>
59 "unsigned 8 bit integer",
60 "signed 16 bit integer",
61 "unsigned 16 bit integer",
62 "signed 32 bit integer",
63 "unsigned 32 bit integer",
64 "signed 64 bit integer",
65 "unsigned 64 bit integer",
71 "std::filesystem::path"};
73 if constexpr (list_traits::contains<type, types>)
74 return names[list_traits::find<type, types>];
76 return detail::type_name_as_string<value_type>;
83 template <detail::is_container_option container_type>
86 typename container_type::value_type tmp{};
95 template <
typename option_value_type>
107 template <detail::is_container_option container_type>
124 if (short_id !=
'\0')
125 term =
"\\fB-" +
std::string(1, short_id) +
"\\fP";
127 if (short_id !=
'\0' && !long_id.
empty())
130 if (!long_id.
empty())
131 term.
append(
"\\fB--" + long_id +
"\\fP");
147 for (
auto c : original)
175 auto it{flag_cluster.
begin()};
177 if (flag_cluster[0] ==
'-')
180 for (; it != flag_cluster.
end() - 1; ++it)
181 tmp.
append({
'-', *it,
',',
' '});
184 tmp.
append({
'a',
'n',
'd',
' ',
'-', flag_cluster[flag_cluster.
size() - 1]});
195template <
typename derived_type>
223 template <
typename option_type,
typename val
idator_type>
229 validator_type && option_validator)
234 info += option_validator.get_help_page_message();
264 template <
typename option_type,
typename val
idator_type>
267 std::string msg = option_validator.get_help_page_message();
270 [
this, &value, desc, msg]()
279 ((detail::is_container_option<option_type>)
303 derived_t().print_section(
"Description");
310 derived_t().print_section(
"Subcommands");
311 derived_t().print_line(
"This program must be invoked with one of the following subcommands:",
false);
313 derived_t().print_line(
"- \\fB" + name +
"\\fP",
false);
314 derived_t().print_line(
"See the respective help page for further details (e.g. by calling " +
meta.
app_name
317 derived_t().print_line(
"The following options below belong to the top-level parser and need to be "
318 "specified \\fBbefore\\fP the subcommand key word. Every argument after the "
319 "subcommand key word is passed on to the corresponding sub-parser.",
325 derived_t().print_section(
"Positional Arguments");
387 [
this, text, is_paragraph]()
389 derived_t().print_line(text, is_paragraph);
498 +
"2006-2023 Knut Reinert, FU-Berlin; released under the 3-clause BSDL.",
509 derived_t().print_line(
"For full copyright and/or warranty information see "
510 +
derived_t().in_bold(
"--copyright") +
".",
Provides the concept seqan3::detail::is_container_option.
Provides auxiliary information.
Provides parser related exceptions.
T find_first_of(T... args)
T find_last_of(T... args)
option_spec
Used to further specify argument_parser options/flags.
Definition auxiliary.hpp:245
@ advanced
Definition auxiliary.hpp:252
@ hidden
Definition auxiliary.hpp:256
@ required
Definition auxiliary.hpp:247
The (most general) container concept as defined by the standard library.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
std::string to_string(value_type &&... values)
Streams all parameters via the seqan3::debug_stream and returns a concatenated string.
Definition to_string.hpp:26
constexpr char const * seqan3_version_cstring
The full version as null terminated string.
Definition version.hpp:64
Type that contains multiple types.
Definition type_list.hpp:26
Provides traits to inspect some information of a type, for example its name.
Provides some standard validators for (positional) options.
Provides SeqAn version macros and global variables.