SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
seqan3::detail::adl_only::alphabet_size_fn< alph_t > Struct Template Reference

Functor definition used indirectly by for seqan3::detail::alphabet_size. More...

#include <seqan3/alphabet/concept.hpp>

Public Types

using s_alph_t = std::conditional_t< std::is_nothrow_default_constructible_v< std::remove_cvref_t< alph_t > > &&seqan3::is_constexpr_default_constructible_v< std::remove_cvref_t< alph_t > >, std::remove_cvref_t< alph_t >, std::type_identity< alph_t > >
 alph_t with cvref removed and possibly wrapped in std::type_identity.
 

Public Member Functions

template<typename dummy = int>
constexpr auto operator() () const noexcept
 Operator definition.
 

Static Public Member Functions

template<typename t , typename ... arg_ts>
static constexpr decltype(auto) impl (seqan3::detail::priority_tag< 0 >, [[maybe_unused]] t &&v, [[maybe_unused]] arg_ts &&... args) noexcept(noexcept((deferred_type_t< std::remove_cvref_t< alph_t >, decltype(v)>::alphabet_size))) requires requires(seqan3
 A customisation point overload.
 
template<typename t , typename ... arg_ts>
static constexpr decltype(auto) impl (seqan3::detail::priority_tag< 1 >, [[maybe_unused]] t &&v, [[maybe_unused]] arg_ts &&... args) noexcept(noexcept((alphabet_size(v)))) requires requires(seqan3
 A customisation point overload.
 
template<typename t , typename ... arg_ts>
static constexpr decltype(auto) impl (seqan3::detail::priority_tag< 2 >, [[maybe_unused]] t &&v, [[maybe_unused]] arg_ts &&... args) noexcept(noexcept((deferred_type_t< seqan3::custom::alphabet< alph_t >, decltype(v)>::alphabet_size))) requires requires(seqan3
 A customisation point overload.
 

Detailed Description

template<typename alph_t>
struct seqan3::detail::adl_only::alphabet_size_fn< alph_t >

Functor definition used indirectly by for seqan3::detail::alphabet_size.

Template Parameters
alph_tThe type being queried.

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