43 template <
typename type>
45 std::ranges::input_range<std::remove_const_t<type>> && 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>);
83 template <
typename iterator_t>
85 std::is_base_of_v<std::random_access_iterator_tag, typename std::iterator_traits<iterator_t>::iterator_category> &&
86 std::totally_ordered<iterator_t> &&
87 std::sized_sentinel_for<iterator_t, iterator_t> &&
requires (iterator_t i,
89 std::iter_difference_t<iterator_t>
const n) {
90 requires std::same_as<decltype(i += n), iterator_t &>;
91 requires std::same_as<decltype(j + n), iterator_t>;
92 requires std::same_as<decltype(n + j), iterator_t>;
93 requires std::same_as<decltype(--i), iterator_t &>;
94 requires std::same_as<decltype(i--), iterator_t>;
95 requires std::same_as<decltype(i -= n), iterator_t &>;
96 requires std::same_as<decltype(j - n), iterator_t>;
97 requires std::same_as<decltype(j[n]),
98 std::iter_reference_t<iterator_t>>;
118 template <
typename rng_t>
requires requires
The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank....
Definition: alphabet/concept.hpp:164
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 main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
The <ranges> header from C++20's standard library.