59 struct argument_parsing<t &> : argument_parsing<t>
63 struct argument_parsing<t const &> : argument_parsing<t>
69 namespace seqan3::detail::adl_only
82 template <
typename option_t>
83 struct enumeration_names_fn
87 seqan3::is_constexpr_default_constructible_v<std::remove_cvref_t<option_t>>,
95 template <
typename dummy =
int>
99 { impl(priority_tag<1>{}, s_option_t{}, dummy{}) };
100 std::same_as<decltype(impl(priority_tag<1>{}, s_option_t{}, dummy{})),
104 auto operator()()
const
106 return impl(priority_tag<1>{}, s_option_t{});
151 template <
typename option_type>
153 requires requires { { detail::adl_only::enumeration_names_fn<option_type>{}() }; }
169 template <
typename option_type>
172 { seqan3::enumeration_names<option_type> };
187 template <
typename option_type>
206 template <
typename char_t,
typename option_type>
210 inline debug_stream_type<char_t> &
operator<<(debug_stream_type<char_t> & s, option_type && op)
212 for (
auto & [key, value] : enumeration_names<option_type>)
218 return s <<
"<UNKNOWN_VALUE>";
Helper utilities for defining customisation point objects (CPOs).
#define SEQAN3_CPO_IMPL(PRIO, TERM)
A macro that helps defining the overload set of a customisation point.
Definition: customisation_point.hpp:47
Provides seqan3::debug_stream and related types.
debug_stream_type< char_t > & operator<<(debug_stream_type< char_t > &stream, alignment_t &&alignment)
Stream operator for alignments, which are represented as tuples of aligned sequences.
Definition: debug_stream_alignment.hpp:103
auto const enumeration_names
Return a conversion map from std::string_view to option_type.
Definition: auxiliary.hpp:155
option_spec
Used to further specify argument_parser options/flags.
Definition: auxiliary.hpp:233
@ standard
The default were no checking or special displaying is happening.
Definition: auxiliary.hpp:234
@ REQUIRED
Definition: auxiliary.hpp:251
@ advanced
Definition: auxiliary.hpp:240
@ DEFAULT
Definition: auxiliary.hpp:250
@ ADVANCED
Definition: auxiliary.hpp:252
@ hidden
Definition: auxiliary.hpp:244
@ required
Definition: auxiliary.hpp:235
@ HIDDEN
Definition: auxiliary.hpp:253
Checks whether the the type can be used in an add_(positional_)option call on the argument parser.
Checks whether the free function seqan3::enumeration_names can be called on the type.
A namespace for third party and standard library specialisations of SeqAn customisation points.
Definition: char.hpp:44
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
update_notifications
Indicates whether application allows automatic update notifications by the seqan3::argument_parser.
Definition: auxiliary.hpp:258
@ off
Automatic update notifications should be disabled.
@ on
Automatic update notifications should be enabled.
A type that can be specialised to provide customisation point implementations for the seqan3::argumen...
Definition: auxiliary.hpp:51
Provides C++20 additions to the type_traits header.
Provides various type traits on generic types.