20namespace bio::ranges::detail
24template <
class range_t>
25concept simple_view = std::ranges::view<range_t> && std::ranges::range<range_t const> &&
26 std::same_as<std::ranges::iterator_t<range_t>, std::ranges::iterator_t<range_t const>> &&
27 std::same_as<std::ranges::sentinel_t<range_t>, std::ranges::sentinel_t<range_t const>>;
52template <
typename type>
54 std::ranges::input_range<std::remove_const_t<type>> && std::ranges::input_range<type const> &&
55 (std::ranges::forward_range<std::remove_const_t<type>> == std::ranges::forward_range<type const>)&&(
57 std::ranges::bidirectional_range<type const>)&&(std::ranges::random_access_range<std::remove_const_t<type>> ==
58 std::ranges::random_access_range<type const>);
65template <
typename rng_t,
typename val_t>
73template <
typename rng_t>
82template <
typename rng_t,
typename... args_t>
Core alphabet concept and free function/type trait wrappers.
Describes range types that can grow in amortised constant time by appending an element which is const...
Definition: concept.hpp:83
Describes range types that can grow in amortised constant time by appending an element of type val_t.
Definition: concept.hpp:66
Describes range types that can grow in amortised constant time by appending an element.
Definition: concept.hpp:74
Specifies requirements of an input range type for which the const version of that type satisfies the ...
Definition: concept.hpp:53
The ranges module's namespace.