24namespace seqan3::detail::adl_only
28template <
typename... args_t>
33struct 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()
111inline constexpr auto complement = detail::adl_only::complement_cpo{};
Core alphabet concept and free function/type trait wrappers.
#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: concept.hpp:105
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