23namespace seqan3::detail::adl_only
27template <
typename... args_t>
44 template <
typename alphabet_t>
53 template <
typename alphabet_t>
62 template <
typename alphabet_t>
64 std::forward<alphabet_t>(
alphabet).is_pair_open() ==
true
111namespace seqan3::detail::adl_only
115template <
typename... args_t>
126 using base_t::base_t;
132 template <
typename alphabet_t>
141 template <
typename alphabet_t>
150 template <
typename alphabet_t>
152 std::forward<alphabet_t>(
alphabet).is_pair_close() ==
true
199namespace seqan3::detail::adl_only
203template <
typename... args_t>
214 using base_t::base_t;
220 template <
typename alphabet_t>
229 template <
typename alphabet_t>
238 template <
typename alphabet_t>
240 std::forward<alphabet_t>(
alphabet).is_unpaired() ==
true
287namespace seqan3::detail::adl_only
291template <
typename... args_t>
298template <
typename alphabet_t>
304 using base_t::base_t;
309 template <
typename alphabet_type>
312 && seqan3::is_constexpr_default_constructible_v<std::remove_cvref_t<alphabet_type>>,
319 template <
typename alphabet_type = alphabet_t>
333 template <
typename alphabet_type = alphabet_t>
341 template <
typename alphabet_type = alphabet_t>
391template <
typename alph_t>
405namespace seqan3::detail::adl_only
409template <
typename... args_t>
419 using base_t::base_t;
425 template <
typename alphabet_t>
434 template <
typename alphabet_t>
443 template <
typename alphabet_t>
445 std::forward<alphabet_t>(
alphabet).pseudoknot_id()
545 requires seqan3::max_pseudoknot_depth<t> > 0;
Core alphabet concept and free function/type trait wrappers.
Helper utilities for defining customisation point objects (CPOs).
constexpr auto is_unpaired
Check whether the given character represents an unpaired nucleotide in an RNA structure.
Definition alphabet/structure/concept.hpp:261
constexpr auto pseudoknot_id
Retrieve an id for the level of a pseudoknotted interaction (also known as 'page number').
Definition alphabet/structure/concept.hpp:456
constexpr auto is_pair_close
Check whether the given character represents a leftward interaction in an RNA structure.
Definition alphabet/structure/concept.hpp:179
constexpr auto max_pseudoknot_depth
A type trait that holds the ability of the structure alphabet to represent pseudoknots,...
Definition alphabet/structure/concept.hpp:373
constexpr auto is_pair_open
Check whether the given character represents a rightward interaction in an RNA structure.
Definition alphabet/structure/concept.hpp:97
#define SEQAN3_CPO_OVERLOAD(...)
A macro that helps to define a seqan3::detail::customisation_point_object.
Definition customisation_point.hpp:104
The generic alphabet concept that covers most data types used in ranges.
A concept that indicates whether an alphabet represents RNA structure.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition alphabet/concept.hpp:46
seqan3::detail::customisation_point_object (CPO) definition for seqan3::is_pair_close.
Definition alphabet/structure/concept.hpp:116
seqan3::detail::customisation_point_object (CPO) definition for seqan3::is_pair_open.
Definition alphabet/structure/concept.hpp:34
seqan3::detail::customisation_point_object (CPO) definition for seqan3::is_unpaired.
Definition alphabet/structure/concept.hpp:198
seqan3::detail::customisation_point_object (CPO) definition for seqan3::max_pseudoknot_depth.
Definition alphabet/structure/concept.hpp:282
seqan3::detail::customisation_point_object (CPO) definition for seqan3::pseudoknot_id_cpo.
Definition alphabet/structure/concept.hpp:391
A CRTP base-class that defines a customisation_point_object (CPO).
Definition customisation_point.hpp:138
A tag that allows controlled overload resolution via implicit base conversion rules.
Definition customisation_point.hpp:29