23 namespace seqan3::detail::adl_only
27 template <
typename ...args_t>
40 template <typename nucleotide_t>
42 requires requires (nucleotide_t const nucl)
51 constexpr
auto operator()(nucleotide_t
const nucl)
const noexcept
128 template <
typename t>
Core alphabet concept and free function/type trait wrappers.
#define SEQAN3_CPO_IMPL(PRIO, TERM)
A macro that helps defining the overload set of a customisation point.
Definition: customisation_point.hpp:47
constexpr auto complement
Return the complement of a nucleotide object.
Definition: concept.hpp:95
The generic alphabet concept that covers most data types used in ranges.
A concept that indicates whether an alphabet represents nucleotides.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:49
Functor definition for seqan3::complement.
Definition: concept.hpp:32
static constexpr decltype(auto) impl(seqan3::detail::priority_tag< 2 >, [[maybe_unused]] t &&v, [[maybe_unused]] arg_ts &&... args) noexcept(noexcept(seqan3::custom::alphabet< decltype(v)>::complement(v))) requires requires(seqan3
A customisation point overload.
Definition: concept.hpp:34
constexpr auto operator()(nucleotide_t const nucl) const noexcept
Operator definition.
Definition: concept.hpp:51
A tag that allows controlled overload resolution via implicit base conversion rules.
Definition: customisation_point.hpp:31