23 namespace seqan3::detail::adl_only
27 template <
typename ...args_t>
32 struct complement_cpo :
public detail::customisation_point_object<complement_cpo, 2>
35 using base_t = detail::customisation_point_object<complement_cpo, 2>;
43 template <
typename alphabet_t>
53 template <
typename alphabet_t>
63 template <
typename alphabet_t>
66 std::forward<alphabet_t>(
alphabet).complement()
113 inline constexpr
auto complement = detail::adl_only::complement_cpo{};
148 template <
typename t>
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:113
constexpr auto complement
Return the complement of a nucleotide object.
Definition: concept.hpp:104
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