22SEQAN3_DEPRECATED_HEADER(
"This header and its functionality is deprecated and will be removed in a future version of SeqAn. Please use the sharg-parser (url: https://github.com/seqan/sharg-parser) instead.");
59struct argument_parsing<t &> : argument_parsing<t>
63struct argument_parsing<t const &> : argument_parsing<t>
69namespace seqan3::detail::adl_only
79template <
typename option_t>
80struct enumeration_names_cpo :
public detail::customisation_point_object<enumeration_names_cpo<option_t>, 1>
83 using base_t = detail::customisation_point_object<enumeration_names_cpo<option_t>, 1>;
90 template <
typename option_type>
91 using option_or_type_identity =
92 std::conditional_t<std::is_nothrow_default_constructible_v<std::remove_cvref_t<option_type>>,
93 std::remove_cvref_t<option_type>,
94 std::type_identity<option_type>>;
99 template <
typename option_type = option_t>
101 seqan3::custom::argument_parsing<option_type>::enumeration_names
113 template <
typename option_type = option_t>
162template <
typename option_type>
164 { detail::adl_only::enumeration_names_cpo<option_type>{}() };
166inline auto const enumeration_names = detail::adl_only::enumeration_names_cpo<option_type>{}();
182template <
typename option_type>
183concept named_enumeration =
requires {
201template <
typename option_type>
202concept argument_parser_compatible_option =
203 input_stream_over<std::istringstream, option_type> || named_enumeration<option_type>;
214template <named_enumeration enum_t>
224 template <
typename stream_t>
225 constexpr void operator()(stream_t & stream, enum_t
const arg)
const
229 if (arg == enumerator)
236 stream <<
"<UNKNOWN_VALUE>";
Helper utilities for defining customisation point objects (CPOs).
#define SEQAN3_CPO_OVERLOAD(...)
A macro that helps to define a seqan3::detail::customisation_point_object.
Definition customisation_point.hpp:106
Provides seqan3::debug_stream and related types.
auto const enumeration_names
Return a conversion map from std::string_view to option_type.
Definition auxiliary.hpp:162
option_spec
Used to further specify argument_parser options/flags.
Definition auxiliary.hpp:249
@ standard
The default were no checking or special displaying is happening.
Definition auxiliary.hpp:250
@ advanced
Definition auxiliary.hpp:256
@ hidden
Definition auxiliary.hpp:260
@ required
Definition auxiliary.hpp:251
A namespace for third party and standard library specialisations of SeqAn customisation points.
Definition char.hpp:40
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
update_notifications
Indicates whether application allows automatic update notifications by the seqan3::argument_parser.
Definition auxiliary.hpp:268
@ off
Automatic update notifications should be disabled.
Definition auxiliary.hpp:270
@ on
Automatic update notifications should be enabled.
Definition auxiliary.hpp:269
A type that can be specialised to provide customisation point implementations for the seqan3::argumen...
Definition auxiliary.hpp:51
constexpr void operator()(stream_t &stream, enum_t const arg) const
Prints the associated label of the given enum value.
Definition auxiliary.hpp:221
Definition default_printer.hpp:35