 |
SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
|
|
Go to the documentation of this file.
16 #include <type_traits>
41 namespace seqan3::detail::adl_only
45 template <
typename ...args_t>
49 struct enable_aminoacid_dispatcher
60 template <typename alph_t>
61 static constexpr
bool dispatch() noexcept
63 if constexpr (std::is_nothrow_default_constructible_v<alph_t> &&
64 seqan3::is_constexpr_default_constructible_v<alph_t>)
66 return impl(priority_tag<2>{}, alph_t{});
122 template <
typename t>
123 inline constexpr
bool enable_aminoacid = detail::adl_only::enable_aminoacid_dispatcher::dispatch<std::remove_cvref_t<t>>();
142 template <
typename type>
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:48
#define SEQAN3_CPO_IMPL(PRIO, TERM)
A macro that helps defining the overload set of a customisation point.
Definition: customisation_point.hpp:45
Provides seqan3::type_list and auxiliary type traits.
This is an empty base class that can be inherited by types that shall model seqan3::aminoacid_alphabe...
Definition: concept.hpp:33
A concept that indicates whether an alphabet represents amino acids.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
constexpr bool enable_aminoacid
A trait that indicates whether a type shall model seqan3::aminoacid_alphabet.
Definition: concept.hpp:123
The identity transformation (a transformation_trait that returns the input).
The generic alphabet concept that covers most data types used in ranges.
Core alphabet concept and free function/type trait wrappers.