27 template <
typename ...args_t>
40 template <typename nucleotide_t>
42 requires requires (nucleotide_t
const nucl)
44 { impl(priority_tag<2>{}, nucl) };
45 requires noexcept(impl(priority_tag<2>{}, nucl));
49 constexpr nucleotide_t operator()(nucleotide_t
const nucl)
const noexcept
51 return impl(priority_tag<2>{}, nucl);
93 inline constexpr
auto complement = detail::adl_only::complement_fn{};
125 template <
typename t>
constexpr auto complement
Return the complement of a nucleotide object.
Definition: concept.hpp:93
A concept that indicates whether an alphabet represents nucleotides.
#define SEQAN3_CPO_IMPL(PRIO, TERM)
A macro that helps defining the overload set of a customisation point.
Definition: customisation_point.hpp:45
The main SeqAn3 namespace.
Definition: concept.hpp:41
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:46
The generic alphabet concept that covers most data types used in ranges.
Core alphabet concept and free function/type trait wrappers.
The concept std::same_as<T, U> is satisfied if and only if T and U denote the same type...