42 template <
typename type>
44 std::ranges::input_range<std::remove_const_t<type>> &&
45 std::ranges::input_range<type const> &&
46 (std::ranges::forward_range<std::remove_const_t<type>> == std::ranges::forward_range<type const>) &&
48 (std::ranges::random_access_range<std::remove_const_t<type>> == std::ranges::random_access_range<type const>);
82 template <
typename iterator_t>
84 std::forward_iterator<iterator_t> &&
87 std::totally_ordered<iterator_t> &&
88 std::sized_sentinel_for<iterator_t, iterator_t> &&
91 std::same_as<decltype( i += n ), iterator_t &>;
92 std::same_as<decltype( j + n ), iterator_t>;
93 std::same_as<decltype( n + j ), iterator_t>;
94 std::same_as<decltype( --i ), iterator_t &>;
95 std::same_as<decltype( i-- ), iterator_t>;
96 std::same_as<decltype( i -= n ), iterator_t &>;
97 std::same_as<decltype( j - n ), iterator_t>;
117 template <
typename rng_t>
119 std::ranges::forward_range<rng_t> &&
138 template <
typename rng_t>
Core alphabet concept and free function/type trait wrappers.
The generic alphabet concept that covers most data types used in ranges.
Specifies requirements of an input range type for which the const version of that type satisfies the ...
This concept checks if an iterator type models pseudo random access.
This concept checks if a type models a pseudo random access range.
The generic concept for a (biological) sequence.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Adaptations of concepts from the Ranges TS.