57struct argument_parsing<t &> : argument_parsing<t>
61struct argument_parsing<t const &> : argument_parsing<t>
67namespace seqan3::detail::adl_only
77template <
typename option_t>
88 template <
typename option_type>
97 template <
typename option_type = option_t>
111 template <
typename option_type = option_t>
160template <
typename option_type>
166inline auto const enumeration_names = detail::adl_only::enumeration_names_cpo<option_type>{}();
182template <
typename option_type>
185 seqan3::enumeration_names<option_type>
203template <
typename option_type>
222template <
typename char_t,
typename option_type>
224inline debug_stream_type<char_t> &
operator<<(debug_stream_type<char_t> & s, option_type && op)
226 for (
auto & [key, value] : enumeration_names<option_type>)
232 return s <<
"<UNKNOWN_VALUE>";
286struct argument_parser_meta_data
std::unordered_map< std::string_view, t > enumeration_names(t)=delete
Poison-pill overload to prevent non-ADL forms of unqualified lookup.
Helper utilities for defining customisation point objects (CPOs).
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:107
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:245
@ standard
The default were no checking or special displaying is happening.
Definition auxiliary.hpp:246
@ advanced
Definition auxiliary.hpp:252
@ hidden
Definition auxiliary.hpp:256
@ required
Definition auxiliary.hpp:247
#define SEQAN3_CPO_OVERLOAD(...)
A macro that helps to define a seqan3::detail::customisation_point_object.
Definition customisation_point.hpp:104
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:39
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:264
@ 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:49
seqan3::detail::customisation_point_object (CPO) definition for seqan3::enumeration_names.
Definition auxiliary.hpp:79
A CRTP base-class that defines a customisation_point_object (CPO).
Definition customisation_point.hpp:138
A tag that allows controlled overload resolution via implicit base conversion rules.
Definition customisation_point.hpp:29