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

Functor definition for seqan3::max_pseudoknot_depth. More...

#include <seqan3/alphabet/structure/concept.hpp>

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)>::max_pseudoknot_depth))) 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((max_pseudoknot_depth(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)>::max_pseudoknot_depth))) requires requires(seqan3
 A customisation point overload.
 

Detailed Description

template<typename alph_t, typename 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>>>
struct seqan3::detail::adl_only::max_pseudoknot_depth_fn< alph_t, s_alph_t >

Functor definition for seqan3::max_pseudoknot_depth.

Template Parameters
alph_tThe type being queried.
s_alph_talph_t with cvref removed and possibly wrapped in std::type_identity; never user-provide this!

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