24 namespace seqan3::detail::adl_only
28 template <
typename... args_t>
33 struct complement_cpo :
public detail::customisation_point_object<complement_cpo, 2>
36 using base_t = detail::customisation_point_object<complement_cpo, 2>;
44 template <
typename alphabet_t>
53 template <
typename alphabet_t>
62 template <
typename alphabet_t>
64 std::forward<alphabet_t>(
alphabet).complement()
111 inline constexpr
auto complement = detail::adl_only::complement_cpo{};
146 template <
typename t>
Core alphabet concept and free function/type trait wrappers.
The <concepts> header from C++20's standard library.
#define SEQAN3_CPO_OVERLOAD(...)
A macro that helps to define a seqan3::detail::customisation_point_object.
Definition: customisation_point.hpp:107
constexpr auto complement
Return the complement of a nucleotide object.
Definition: alphabet/nucleotide/concept.hpp:105
requires requires
The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank....
Definition: alphabet/concept.hpp:164
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: alphabet/concept.hpp:49