SeqAn3 3.1.0-rc.2
The Modern C++ library for sequence analysis.
seqan3::detail::adl_only::enumeration_names_cpo< option_t > Struct Template Reference

seqan3::detail::customisation_point_object (CPO) definition for seqan3::enumeration_names. More...

#include <seqan3/argument_parser/auxiliary.hpp>

+ Inheritance diagram for seqan3::detail::adl_only::enumeration_names_cpo< option_t >:

Public Types

using base_t = detail::customisation_point_object< enumeration_names_cpo< option_t >, 1 >
 CRTP base class seqan3::detail::customisation_point_object.
 
template<typename option_type >
using option_or_type_identity = std::conditional_t< std::is_nothrow_default_constructible_v< std::remove_cvref_t< option_type > > &&seqan3::is_constexpr_default_constructible_v< std::remove_cvref_t< option_type > >, std::remove_cvref_t< option_type >, std::type_identity< option_type > >
 If alphabet_type isn't std::is_nothrow_default_constructible, enumeration_names will be called with std::type_identity instead of a default constructed alphabet.
 

Static Public Member Functions

template<typename option_type = option_t>
static constexpr auto cpo_overload (priority_tag< 0 >) noexcept(auto)
 CPO overload (check 1 out of 2): argument dependent lookup (ADL), i.e. enumeration_names(option_type{}) More...
 
template<typename option_type = option_t>
static constexpr auto cpo_overload (priority_tag< 1 >) noexcept(auto)
 CPO overload (check 1 out of 2): explicit customisation via seqan3::custom::argument_parsing More...
 

Additional Inherited Members

- Public Member Functions inherited from seqan3::detail::customisation_point_object< enumeration_names_cpo< option_t >, 1 >
constexpr auto operator() (args_t &&...args) const noexcept(auto)
 SFINAE-friendly call-operator of this seqan3::detail::customisation_point_object instance. More...
 

Detailed Description

template<typename option_t>
struct seqan3::detail::adl_only::enumeration_names_cpo< option_t >

seqan3::detail::customisation_point_object (CPO) definition for seqan3::enumeration_names.

Member Function Documentation

◆ cpo_overload() [1/2]

template<typename option_t >
template<typename option_type = option_t>
static constexpr auto seqan3::detail::adl_only::enumeration_names_cpo< option_t >::cpo_overload ( priority_tag< 0 >  )
inlinestaticconstexprnoexcept

CPO overload (check 1 out of 2): argument dependent lookup (ADL), i.e. enumeration_names(option_type{})

Template Parameters
option_typeThe type of the option. (Needed to defer instantiation for incomplete types.)

If the option_type isn't std::is_nothrow_default_constructible, enumeration_names(std::type_identity<alphabet_type>{}) will be called.

◆ cpo_overload() [2/2]

template<typename option_t >
template<typename option_type = option_t>
static constexpr auto seqan3::detail::adl_only::enumeration_names_cpo< option_t >::cpo_overload ( priority_tag< 1 >  )
inlinestaticconstexprnoexcept

CPO overload (check 1 out of 2): explicit customisation via seqan3::custom::argument_parsing

Template Parameters
option_typeThe type of the option. (Needed to defer instantiation for incomplete types.)

The documentation for this struct was generated from the following file: