Horizon
Loading...
Searching...
No Matches
Views

Lazy, non-owning, non-mutating, composable range views. More...

Namespaces

namespace  ranges::views
namespace  ranges::cpp20

Concepts

concept  ranges::cartesian_produce_view_can_const
 The cartesian_produce_view_can_const concept.
concept  ranges::cartesian_produce_view_can_size_
 The cartesian_produce_view_can_size_ concept.
concept  ranges::cartesian_produce_view_can_size
 The cartesian_produce_view_can_size concept.
concept  ranges::cartesian_produce_view_can_distance_
 The cartesian_produce_view_can_distance_ concept.
concept  ranges::cartesian_produce_view_can_distance
 The cartesian_produce_view_can_distance concept.
concept  ranges::cartesian_produce_view_can_random_
 The cartesian_produce_view_can_random_ concept.
concept  ranges::cartesian_produce_view_can_random
 The cartesian_produce_view_can_random concept.
concept  ranges::cartesian_produce_view_can_bidi_
 The cartesian_produce_view_can_bidi_ concept.
concept  ranges::cartesian_produce_view_can_bidi
 The cartesian_produce_view_can_bidi concept.
concept  ranges::views::transformable_range_
 The transformable_range_ concept.
concept  ranges::simple_view_impl_
 The simple_view_impl_ concept.
concept  ranges::simple_view_
 The simple_view_ concept.
concept  ranges::invocable_view_closure_
 The invocable_view_closure_ concept.
concept  ranges::invocable_view_closure
 The invocable_view_closure concept.

Classes

struct  ranges::adaptor_cursor< BaseIter, Adapt >
struct  ranges::base_adaptor_sentinel< BaseSent, Adapt >
struct  ranges::adaptor_base
struct  ranges::adaptor_sentinel< BaseSent, Adapt >
struct  ranges::view_adaptor< Derived, BaseRng, Cardinality >
struct  ranges::adjacent_filter_view< Rng, Pred >
struct  ranges::adjacent_remove_if_view< Rng, Pred >
struct  ranges::identity_adaptor< Rng >
struct  ranges::any_view< Ref, Cat, enable >
 A type-erased view. More...
struct  ranges::views::c_str_fn
 View a \0-terminated C string (e.g. More...
struct  ranges::cache1_view< Rng >
struct  ranges::cartesian_product_view< Views >
struct  ranges::chunk_view_< Rng, IsForwardRange >
struct  ranges::chunk_view_< Rng, false >
struct  ranges::chunk_view< Rng >
struct  ranges::chunk_by_view< Rng, Fun >
struct  ranges::common_view< Rng, bool >
struct  ranges::common_view< Rng, true >
struct  ranges::concat_view< Rngs >
struct  ranges::const_view< Rng >
struct  ranges::counted_view< I >
struct  ranges::cycled_view< Rng, bool >
struct  ranges::cycled_view< Rng, true >
struct  ranges::delimit_view< Rng, Val >
struct  ranges::drop_view< Rng >
struct  ranges::drop_exactly_view< Rng >
struct  ranges::drop_last_view< Rng, typename >
struct  ranges::drop_last_view< Rng, detail::drop_last_view::mode_bidi >
struct  ranges::drop_last_view< Rng, detail::drop_last_view::mode_forward >
struct  ranges::drop_last_view< Rng, detail::drop_last_view::mode_sized >
struct  ranges::drop_while_view< Rng, Pred >
struct  ranges::empty_view< T >
struct  ranges::exclusive_scan_view< Rng, T, Fun >
struct  ranges::view_facade< Derived, Cardinality >
 A utility for constructing a view from a (derived) type that implements begin and end cursors. More...
struct  ranges::filter_view< Rng, Pred >
struct  ranges::yield_fn
struct  ranges::yield_from_fn
struct  ranges::yield_if_fn
struct  ranges::lazy_yield_if_fn
struct  ranges::generate_view< G >
struct  ranges::views::generate_fn
struct  ranges::generate_n_view< G >
struct  ranges::getlines_view
struct  ranges::getlines_fn
struct  ranges::group_by_view< Rng, Fun >
struct  ranges::indirect_view< Rng >
struct  ranges::view_interface< Derived, Cardinality >
struct  ranges::intersperse_view< Rng >
struct  ranges::views::intersperse_base_fn
struct  ranges::views::intersperse_fn
struct  ranges::closed_iota_view< From, To >
 An iota view in a closed range. More...
struct  ranges::iota_view< From, To >
struct  ranges::views::ints_fn
struct  ranges::istream_view< Val >
struct  ranges::join_view< Rng >
struct  ranges::join_with_view< Rng, ValRng >
struct  ranges::views::linear_distribute_view< T >
struct  ranges::views::linear_distribute_fn
 Distributes n values linearly in the closed interval [from, to]. More...
struct  ranges::move_view< Rng >
struct  ranges::partial_sum_view< Rng, Fun >
struct  ranges::ref_view< Rng >
struct  ranges::views::ref_fn
struct  ranges::remove_if_view< Rng, Pred >
struct  ranges::repeat_view< Val >
struct  ranges::repeat_n_view< Val >
struct  ranges::reverse_view< Rng >
struct  ranges::reverse_view< reverse_view< Rng > >
class  ranges::sample_view< Rng, URNG >
struct  ranges::single_view< T >
struct  ranges::slice_view< Rng >
struct  ranges::sliding_view< Rng, sliding_view_detail::cache::first >
struct  ranges::sliding_view< Rng, sliding_view_detail::cache::last >
struct  ranges::sliding_view< Rng, sliding_view_detail::cache::none >
struct  ranges::span< T, N >
struct  ranges::split_view< V, Pattern >
struct  ranges::split_when_view< Rng, Fun >
struct  ranges::stride_view< Rng >
struct  ranges::subrange< I, S, K >
struct  ranges::make_subrange_fn
struct  ranges::tail_view< Rng >
struct  ranges::take_view< Rng >
struct  ranges::iter_take_while_view< Rng, Pred >
struct  ranges::take_while_view< Rng, Pred >
struct  ranges::tokenize_view< Rng, Regex, SubMatchRange >
struct  ranges::iter_transform_view< Rng, Fun >
struct  ranges::transform_view< Rng, Fun >
struct  ranges::iter_transform2_view< Rng1, Rng2, Fun >
struct  ranges::transform2_view< Rng1, Rng2, Fun >
struct  ranges::trim_view< Rng, Pred >
struct  ranges::unbounded_view< I >
struct  ranges::make_view_closure_fn
struct  ranges::zip_view< Rngs >
struct  ranges::iter_zip_with_view< Fun, Rngs >
struct  ranges::zip_with_view< Fun, Rngs >
struct  ranges::views::zip_with_fn

Typedefs

template<typename D>
using ranges::adaptor_cursor_t
template<typename D>
using ranges::adaptor_sentinel_t
template<typename Rng>
using all_t = decltype(all(std::declval<Rng>()))
template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_difference_view
template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_intersection_view
template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_union_view
template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_symmetric_difference_view
template<typename R>
using borrowed_subrange_t = detail::maybe_dangling_<R, subrange<iterator_t<R>>>
template<typename Rng>
using ranges::take_exactly_view = detail::take_exactly_view_<Rng>

Enumerations

enum class  subrange_kind : bool { unsized , sized }

Functions

 ranges::template (typename Rng, typename Fun)() adjacent_filter_view(Rng &&
template<typename Rng>
 ranges::cache1_view (Rng &&) -> cache1_view< views::all_t< Rng > >
 ranges::template (typename IsConst, typename... Views)(concept(cartesian_produce_view_can_size_)(IsConst
template<typename... Rng>
 ranges::cartesian_product_view (Rng &&...) -> cartesian_product_view< views::all_t< Rng >... >
template<typename Rng>
 ranges::chunk_view (Rng &&, range_difference_t< Rng >) -> chunk_view< views::all_t< Rng > >
 ranges::template (typename Rng)() common_view(Rng &&) -> common_view< views::all_t< Rng > >
template<typename... Rng>
 ranges::concat_view (Rng &&...) -> concat_view< views::all_t< Rng >... >
template<typename Rng>
 ranges::const_view (Rng &&) -> const_view< views::all_t< Rng > >
template<typename I>
 ranges::counted_view (I, iter_difference_t< I >) -> counted_view< I >
template<typename Rng>
 ranges::cycled_view (Rng &&) -> cycled_view< views::all_t< Rng > >
 ranges::template (typename Rng, typename Val)() delimit_view(Rng &&
template<typename Rng>
 ranges::drop_view (Rng &&, range_difference_t< Rng >) -> drop_view< views::all_t< Rng > >
template<typename Rng>
 ranges::drop_exactly_view (Rng &&, range_difference_t< Rng >) -> drop_exactly_view< views::all_t< Rng > >
template<typename Rng>
 ranges::drop_last_view (Rng &&, range_difference_t< Rng >) -> drop_last_view< views::all_t< Rng > >
 ranges::template (typename Rng, typename T, typename Fun)(AND copy_constructible< Fun >) exclusive_scan_view(Rng &&
 ranges::template (typename Rng, typename Pred)(AND indirect_unary_predicate< Pred
iterator_t< Rng > AND view_< Rng > AND std::is_object< Pred >::value ranges::filter_view (Rng &&, Pred) -> filter_view< views::all_t< Rng >, Pred >
 ranges::generate_view< G >::cursor::cursor (generate_view *view)
result_t && ranges::generate_view< G >::cursor::read () const
void ranges::generate_view< G >::cursor::next ()
 ranges::generate_view< G >::generate_view (G g)
result_t & ranges::generate_view< G >::cached ()
template<typename Rng>
 ranges::indirect_view (Rng &&) -> indirect_view< views::all_t< Rng > >
constexpr ranges::intersperse_view< Rng >::intersperse_view (Rng rng, range_value_t< Rng > val)
CPP_auto_member constexpr auto CPP_fun ranges::intersperse_view< Rng >::size ()(const)
CPP_auto_member constexpr auto CPP_fun ranges::intersperse_view< Rng >::size ()()
constexpr ranges::intersperse_view< Rng >::cursor_adaptor< Const >::cursor_adaptor (range_value_t< Rng > const &val)
 ranges::intersperse_view< Rng >::cursor_adaptor< Const >::template (bool Other)(AND CPP_NOT(Other)) cursor_adaptor(cursor_adaptor< Other > that)
template<typename View>
constexpr iterator_t< CRng > ranges::intersperse_view< Rng >::cursor_adaptor< Const >::begin (View &view)
constexpr range_value_t< Rng > ranges::intersperse_view< Rng >::cursor_adaptor< Const >::read (iterator_t< CRng > const &it) const
CPP_member constexpr auto ranges::intersperse_view< Rng >::cursor_adaptor< Const >::equal (iterator_t< CRng > const &it0, iterator_t< CRng > const &it1, cursor_adaptor const &other) const -> CPP_ret(bool)()
constexpr void ranges::intersperse_view< Rng >::cursor_adaptor< Const >::next (iterator_t< CRng > &it)
CPP_member constexpr auto ranges::intersperse_view< Rng >::cursor_adaptor< Const >::prev (iterator_t< CRng > &it) -> CPP_ret(void)()
CPP_member constexpr auto ranges::intersperse_view< Rng >::cursor_adaptor< Const >::distance_to (iterator_t< CRng > const &it, iterator_t< CRng > const &other_it, cursor_adaptor const &other) const -> CPP_ret(range_difference_t< Rng >)()
CPP_member constexpr auto ranges::intersperse_view< Rng >::cursor_adaptor< Const >::advance (iterator_t< CRng > &it, range_difference_t< CRng > n) -> CPP_ret(void)()
 ranges::intersperse_view< Rng >::sentinel_adaptor< Const >::template (bool Other)(AND CPP_NOT(Other)) sentinel_adaptor(sentinel_adaptor< Other >)
static constexpr bool ranges::intersperse_view< Rng >::sentinel_adaptor< Const >::empty (iterator_t< CRng > const &it, cursor_adaptor< Const > const &, sentinel_t< CRng > const &sent)
template<typename Rng>
 ranges::intersperse_view (Rng &&, range_value_t< Rng >) -> intersperse_view< views::all_t< Rng > >
 ranges::views::intersperse_base_fn::template (typename Rng)(AND input_range< Rng > AND convertible_to< range_reference_t< Rng >
range_value_t< Rng > AND semiregular< range_value_t< Rng > > constexpr intersperse_view< all_t< Rng > > ranges::views::intersperse_base_fn::operator() (Rng &&rng, range_value_t< Rng > val) const
 ranges::views::intersperse_fn::template (typename T)() const expr auto operator()(T t) const
 ranges::template (typename Val)(AND default_constructible< Val >) inline istream_view< Val > istream(std
 ranges::views::linear_distribute_view< T >::CPP_assert (std::is_arithmetic< T >())
constexpr ranges::views::linear_distribute_view< T >::linear_distribute_view (T from, T to, std::ptrdiff_t n) noexcept
constexpr std::size_t ranges::views::linear_distribute_view< T >::size () const noexcept
 ranges::views::linear_distribute_fn::template (typename T)() const expr auto operator()(T from
template<typename Rng>
 ranges::move_view (Rng &&) -> move_view< views::all_t< Rng > >
constexpr ranges::ref_view< Rng >::ref_view (Rng &rng) noexcept
constexpr Rng & ranges::ref_view< Rng >::base () const noexcept
constexpr iterator_t< Rng > ranges::ref_view< Rng >::begin () const noexcept(noexcept(ranges::begin(*rng_)))
constexpr sentinel_t< Rng > ranges::ref_view< Rng >::end () const noexcept(noexcept(ranges::end(*rng_)))
CPP_member constexpr auto ranges::ref_view< Rng >::empty () const noexcept(noexcept(ranges::empty(*rng_))) -> CPP_ret(bool)()
CPP_auto_member constexpr auto CPP_fun ranges::ref_view< Rng >::size ()(const noexcept(noexcept(ranges::size(*rng_))))
CPP_auto_member constexpr auto CPP_fun ranges::ref_view< Rng >::data ()(const noexcept(noexcept(ranges::data(*rng_))))
 ranges::template (typename R)() ref_view(R &) -> ref_view< R >
 ranges::views::ref_fn::template (typename Rng)() const expr ref_view< Rng > operator()(Rng &rng) const noexcept
template<typename Rng>
void ranges::views::ref_fn::operator() (Rng const &&rng) const =delete
 ranges::cpp20::template (typename Rng)() using common_view = ranges::drop_view<Rng>
 ranges::template (typename Rng, typename Pred)() remove_if_view(Rng &&
template<typename Rng>
 ranges::reverse_view (Rng &&) -> reverse_view< views::all_t< Rng > >
template<typename Rng>
 ranges::reverse_view (reverse_view< Rng >) -> reverse_view< reverse_view< Rng > >
template<typename Rng, typename URNG>
 ranges::sample_view (Rng &&, range_difference_t< Rng >, URNG &) -> sample_view< views::all_t< Rng >, URNG >
template<class T>
 ranges::single_view (T &&) -> single_view< detail::decay_t< T > >
template<typename Rng>
 ranges::slice_view (Rng &&, range_difference_t< Rng >, range_difference_t< Rng >) -> slice_view< views::all_t< Rng > >
template<typename Rng>
 ranges::sliding_view (Rng &&, range_difference_t< Rng >) -> sliding_view< views::all_t< Rng > >
 ranges::template (typename Rng)() span(Rng &&rng) -> span< detail::element_t< Rng >,(range_cardinality< Rng >::value< cardinality() ? dynamic_extent :static_cast< detail::span_index_t >(range_cardinality< Rng >::value))>
template<typename T, detail::span_index_t N>
span< unsigned char const, detail::byte_size< T >(N)> ranges::as_bytes (span< T, N > s) noexcept
template<typename T, detail::span_index_t N>
span< unsigned char, detail::byte_size< T >(N)> ranges::as_writeable_bytes (span< T, N > s) noexcept
template<typename ElementType>
constexpr span< ElementType > ranges::make_span (ElementType *ptr, detail::span_index_t cnt) noexcept
template<typename ElementType>
constexpr span< ElementType > ranges::make_span (ElementType *first, ElementType *last) noexcept
 ranges::template (typename Rng)(AND(range_cardinality< Rng >
 ranges::template (typename R, typename P)(AND forward_range< P > AND viewable_range< R > AND viewable_range< P > AND indirectly_comparable< iterator_t< R >
 ranges::template (typename R)() split_view(R &&
template<typename Rng>
 ranges::stride_view (Rng &&, range_difference_t< Rng >) -> stride_view< views::all_t< Rng > >
template<typename I, typename S>
 ranges::subrange (I, S) -> subrange< I, S >
ranges::subrange (I, S, detail::iter_size_t< I >) -> subrange< I, S, subrange_kind::sized >
 ranges::template (typename R)() subrange(R &&) -> subrange< iterator_t< R >, sentinel_t< R >,(sized_range< R >||sized_sentinel_for< sentinel_t< R >, iterator_t< R > >) ? subrange_kind::sized :subrange_kind::unsized >
 ranges::template (typename Rng)() tail_view(Rng &&) -> tail_view< views::all_t< Rng > >
template<typename Rng>
 ranges::take_view (Rng &&, range_difference_t< Rng >) -> take_view< views::all_t< Rng > >
 ranges::template (typename Rng, typename Regex, typename SubMatchRange)(AND copy_constructible< SubMatchRange >) tokenize_view(Rng &&
template<typename Rng, typename Pred>
 ranges::trim_view (Rng &&, Pred) -> trim_view< views::all_t< Rng >, Pred >
 ranges::template (typename ViewFn, typename Rng)(concept(invocable_view_closure_)(ViewFn
template<typename Rng>
constexpr bool ranges::simple_view () noexcept
template<typename... Rng>
 ranges::zip_view (Rng &&...) -> zip_view< views::all_t< Rng >... >
 ranges::template (typename Fun, typename... Rng)() zip_with_view(Fun

Variables

template<typename SharedFn>
RANGES_INLINE_VAR constexpr bool ranges::is_pipeable_v< experimental::shared_closure< SharedFn > > = true
Fun ranges::adjacent_filter_view< views::all_t< Rng >, Fun >
Fun ranges::adjacent_remove_if_view< views::all_t< Rng >, Fun >
template<typename... Views>
CPP_concept ranges::cartesian_produce_view_can_const
 ranges::Views
 ranges::and_v< common_with< std::uintmax_t, range_size_t< meta::const_if< IsConst, Views > > >... >
template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_size
 ranges::and_v< sized_sentinel_for< iterator_t< meta::const_if< IsConst, Views > >, iterator_t< meta::const_if< IsConst, Views > > >... >
template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_distance
 ranges::and_v< random_access_iterator< iterator_t< meta::const_if< IsConst, Views > > >... >
template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_random
 ranges::and_v< common_range< meta::const_if< IsConst, Views > >..., bidirectional_iterator< iterator_t< meta::const_if< IsConst, Views > > >... >
template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_bidi
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< chunk_view< Rng > >
Fun ranges::chunk_by_view< views::all_t< Rng >, Fun >
template<typename Rng, bool B>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< common_view< Rng, B > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< const_view< Rng > >
template<typename I>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< counted_view< I > > = true
template<typename Rng, typename Val>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< delimit_view< Rng, Val > >
Val ranges::delimit_view< views::all_t< Rng >, Val >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_exactly_view< Rng > >
template<typename Rng, typename T>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_last_view< Rng, T > >
template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_while_view< Rng, Pred > >
Fun ranges::drop_while_view< views::all_t< Rng >, Fun >
template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::disable_sized_range< drop_while_view< Rng, Pred > >
template<typename T>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< empty_view< T > > = true
Fun ranges::exclusive_scan_view< views::all_t< Rng >, T, Fun >
Fun ranges::group_by_view< views::all_t< Rng >, Fun >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< indirect_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< intersperse_view< Rng > >
template<typename From, typename To>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< closed_iota_view< From, To > >
template<typename From, typename To>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< iota_view< From, To > > = true
ranges::views::linear_distribute_fn::to
T std::ptrdiff_t n ranges::views::linear_distribute_fn::const
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< keys_range_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< values_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< move_view< Rng > >
Fun ranges::partial_sum_view< views::all_t< Rng >, Fun >
Pred ranges::remove_if_view< views::all_t< Rng >, Pred >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< reverse_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< slice_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< sliding_view< Rng > >
constexpr detail::span_index_t ranges::dynamic_extent = -1
template<typename T, detail::span_index_t N>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< span< T, N > > = true
template<typename T, detail::span_index_t N>
constexpr detail::span_index_t ranges::span< T, N >::extent
 ranges::iterator_t< P >
ranges::equal_to ranges::AND (forward_range< R >||detail::tiny_range< P >)) split_view(R &&
ranges::equal_to P && ranges::split_view< views::all_t< R >, views::all_t< P > >
range_value_t< R > ranges::split_view< views::all_t< R >, single_view< range_value_t< R > > >
Fun ranges::split_when_view< views::all_t< Rng >, Fun >
template<typename I, typename S, subrange_kind K>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< subrange< I, S, K > > = true
detail::iter_size_t< iterator_t< R > > ranges::subrange< iterator_t< R >, sentinel_t< R >, subrange_kind::sized >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< tail_view< Rng > >
template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< take_view< Rng > >
template<typename Rng, bool B>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< detail::take_exactly_view_< Rng, B > >
Fun ranges::take_while_view< views::all_t< Rng >, Fun >
 ranges::Regex
SubMatchRange ranges::tokenize_view< views::all_t< Rng >, Regex, SubMatchRange >
Fun ranges::transform_view< views::all_t< Rng >, Fun >
template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< trim_view< Rng, Pred > >
template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::disable_sized_range< trim_view< Rng, Pred > > = true
template<typename I>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< unbounded_view< I > > = true
same_as< iterator_t< Rng >, iterator_t< Rng const > > AND ranges::same_as< sentinel_t< Rng >, sentinel_t< Rng const > >
template<typename Rng>
CPP_concept ranges::simple_view_
 ranges::Rng
template<typename ViewFn, typename Rng>
CPP_concept ranges::invocable_view_closure
template<typename ViewFn>
RANGES_INLINE_VAR constexpr bool ranges::is_pipeable_v< views::view_closure< ViewFn > > = true
template<typename... Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< zip_view< Rng... > >
Rng && ranges::zip_with_view< Fun, views::all_t< Rng >... >

Detailed Description

Lazy, non-owning, non-mutating, composable range views.

Typedef Documentation

◆ adaptor_cursor_t

template<typename D>
using ranges::adaptor_cursor_t
Initial value:
adaptor_cursor<detail::adapted_iterator_t<D>, detail::begin_adaptor_t<D>>
Definition adaptor.hpp:242

◆ adaptor_sentinel_t

template<typename D>
using ranges::adaptor_sentinel_t
Initial value:
meta::if_c<
same_as<detail::adapted_iterator_t<D>, detail::adapted_sentinel_t<D>> &&
same_as<detail::begin_adaptor_t<D>, detail::end_adaptor_t<D>>,
adaptor_cursor_t<D>,
Definition adaptor.hpp:234

◆ set_difference_view

template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_difference_view
Initial value:
detail::set_algorithm_view<Rng1, Rng2, C, P1, P2, detail::set_difference_cursor,
detail::set_difference_cardinality(
Definition traits.hpp:128

◆ set_intersection_view

template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_intersection_view
Initial value:
detail::set_algorithm_view<Rng1, Rng2, C, P1, P2, detail::set_intersection_cursor,
detail::set_intersection_cardinality(

◆ set_symmetric_difference_view

template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_symmetric_difference_view
Initial value:
detail::set_algorithm_view<
Rng1, Rng2, C, P1, P2, detail::set_symmetric_difference_cursor,
detail::set_symmetric_difference_cardinality(range_cardinality<Rng1>::value,

◆ set_union_view

template<typename Rng1, typename Rng2, typename C, typename P1, typename P2>
using ranges::set_union_view
Initial value:
detail::set_algorithm_view<Rng1, Rng2, C, P1, P2, detail::set_union_cursor,
detail::set_union_cardinality(

Variable Documentation

◆ cartesian_produce_view_can_bidi

template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_bidi
Initial value:
=
cartesian_produce_view_can_random<IsConst, Views...> ||
CPP_concept_ref(ranges::cartesian_produce_view_can_bidi_, IsConst, Views...)
The cartesian_produce_view_can_bidi_ concept.
The cartesian_produce_view_can_random concept.

◆ cartesian_produce_view_can_const

template<typename... Views>
CPP_concept ranges::cartesian_produce_view_can_const
Initial value:
=
and_v<range<Views const>...>

◆ cartesian_produce_view_can_distance

template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_distance
Initial value:
=
cartesian_produce_view_can_size<IsConst, Views...> &&
CPP_concept_ref(ranges::cartesian_produce_view_can_distance_, IsConst, Views...)
The cartesian_produce_view_can_distance_ concept.
The cartesian_produce_view_can_size concept.

◆ cartesian_produce_view_can_random

template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_random
Initial value:
=
CPP_concept_ref(ranges::cartesian_produce_view_can_random_, IsConst, Views...)
The cartesian_produce_view_can_distance concept.
The cartesian_produce_view_can_random_ concept.

◆ cartesian_produce_view_can_size

template<typename IsConst, typename... Views>
CPP_concept ranges::cartesian_produce_view_can_size
Initial value:
=
and_v<sized_range<meta::const_if<IsConst, Views>>...> &&
CPP_concept_ref(ranges::cartesian_produce_view_can_size_, IsConst, Views...)
The cartesian_produce_view_can_size_ concept.

◆ const

T std::ptrdiff_t n ranges::views::linear_distribute_fn::const
Initial value:
{
return linear_distribute_view<T>{from, to, n}
Definition linear_distribute.hpp:39

◆ disable_sized_range< drop_while_view< Rng, Pred > >

template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::disable_sized_range< drop_while_view< Rng, Pred > >
constexpr
Initial value:
=
true

◆ enable_borrowed_range< chunk_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< chunk_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng> && forward_range<Rng>
The forward_range concept.

◆ enable_borrowed_range< closed_iota_view< From, To > >

template<typename From, typename To>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< closed_iota_view< From, To > >
constexpr
Initial value:
=
true

◆ enable_borrowed_range< common_view< Rng, B > >

template<typename Rng, bool B>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< common_view< Rng, B > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< const_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< const_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< delimit_view< Rng, Val > >

template<typename Rng, typename Val>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< delimit_view< Rng, Val > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< detail::take_exactly_view_< Rng, B > >

template<typename Rng, bool B>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< detail::take_exactly_view_< Rng, B > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< drop_exactly_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_exactly_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< drop_last_view< Rng, T > >

template<typename Rng, typename T>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_last_view< Rng, T > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< drop_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< drop_while_view< Rng, Pred > >

template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< drop_while_view< Rng, Pred > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< indirect_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< indirect_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< intersperse_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< intersperse_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< keys_range_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< keys_range_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< move_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< move_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< reverse_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< reverse_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< slice_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< slice_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< sliding_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< sliding_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< tail_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< tail_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< take_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< take_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< trim_view< Rng, Pred > >

template<typename Rng, typename Pred>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< trim_view< Rng, Pred > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< values_view< Rng > >

template<typename Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< values_view< Rng > >
constexpr
Initial value:
=
enable_borrowed_range<Rng>

◆ enable_borrowed_range< zip_view< Rng... > >

template<typename... Rng>
RANGES_INLINE_VAR constexpr bool ranges::enable_borrowed_range< zip_view< Rng... > >
constexpr
Initial value:
=
and_v<enable_borrowed_range<Rng>...>

◆ invocable_view_closure

template<typename ViewFn, typename Rng>
CPP_concept ranges::invocable_view_closure
Initial value:
=
CPP_concept_ref(ranges::invocable_view_closure_, ViewFn, Rng)
The invocable_view_closure_ concept.
The invocable concept.

◆ simple_view_

template<typename Rng>
CPP_concept ranges::simple_view_
Initial value:
=
CPP_concept_ref(ranges::simple_view_impl_, Rng)
The range concept.
The simple_view_impl_ concept.
The view_ concept.