ranges File Reference
Utilities » Concepts

Go to the source code of this file.

## Classes

class | std::ranges::empty_view< _Tp >
class | std::ranges::single_view< _Tp >

## Namespaces

namespace | std

## Macros

#define | _GLIBCXX_RANGES

## Typedefs

template<bool _Const, typename _Tp >
using | std::ranges::__detail::__maybe_const_t = __conditional_t< _Const, const _Tp, _Tp >
template<bool _Present, typename _Tp >
using | std::ranges::__detail::__maybe_present_t = __conditional_t< _Present, _Tp, _Empty >
template<viewable_range _Range>
using | std::ranges::views::all_t = decltype(all(std::declval< _Range >()))
template<typename _Val >
using | std::ranges::istream_view = basic_istream_view< _Val, char >
template<typename _Range >
using | std::ranges::keys_view = elements_view< views::all_t< _Range >, 0 >
template<typename _Range >
using | std::ranges::values_view = elements_view< views::all_t< _Range >, 1 >
template<typename _Val >
using | std::ranges::wistream_view = basic_istream_view< _Val, wchar_t >

## Functions

template<typename _Range >
| std::ranges::common_view (_Range &&) -> common_view< views::all_t< _Range > >
template<typename _Range >
| std::ranges::drop_view (_Range &&, range_difference_t< _Range >) -> drop_view< views::all_t< _Range > >
template<typename _Range , typename _Pred >
| std::ranges::drop_while_view (_Range &&, _Pred) -> drop_while_view< views::all_t< _Range >, _Pred >
template<typename _Range , typename _Pred >
| std::ranges::filter_view (_Range &&, _Pred) -> filter_view< views::all_t< _Range >, _Pred >
template<typename _Winc , typename _Bound > requires (!__detail::__is_integer_like<_Winc> || !__detail::__is_integer_like<_Bound> || (__detail::__is_signed_integer_like<_Winc> == __detail::__is_signed_integer_like<_Bound>))
| std::ranges::iota_view (_Winc, _Bound) -> iota_view< _Winc, _Bound >
template<typename _Range >
| std::ranges::join_view (_Range &&) -> join_view< views::all_t< _Range > >
template<typename _Range , typename _Pattern >
| std::ranges::lazy_split_view (_Range &&, _Pattern &&) -> lazy_split_view< views::all_t< _Range >, views::all_t< _Pattern > >
template<input_range _Range>
| std::ranges::lazy_split_view (_Range &&, range_value_t< _Range >) -> lazy_split_view< views::all_t< _Range >, single_view< range_value_t< _Range > > >
template<typename _Range >
| std::ranges::ref_view (_Range &) -> ref_view< _Range >
template<typename _Range >
| std::ranges::reverse_view (_Range &&) -> reverse_view< views::all_t< _Range > >
template<typename _Tp >
| std::ranges::single_view (_Tp) -> single_view< _Tp >
template<typename _Range , typename _Pattern >
| std::ranges::split_view (_Range &&, _Pattern &&) -> split_view< views::all_t< _Range >, views::all_t< _Pattern > >
template<forward_range _Range>
| std::ranges::split_view (_Range &&, range_value_t< _Range >) -> split_view< views::all_t< _Range >, single_view< range_value_t< _Range > > >
template<typename _Range >
| std::ranges::take_view (_Range &&, range_difference_t< _Range >) -> take_view< views::all_t< _Range > >
template<typename _Range , typename _Pred >
| std::ranges::take_while_view (_Range &&, _Pred) -> take_while_view< views::all_t< _Range >, _Pred >
template<typename _Range , typename _Fp >
| std::ranges::transform_view (_Range &&, _Fp) -> transform_view< views::all_t< _Range >, _Fp >

## Variables

template<typename _Range >
constexpr bool | std::ranges::views::__detail::__is_basic_string_view
template<typename _CharT , typename _Traits >
constexpr bool | std::ranges::views::__detail::__is_basic_string_view< basic_string_view< _CharT, _Traits > >
template<typename _Range >
constexpr bool | std::ranges::views::__detail::__is_empty_view
template<typename _Tp >
constexpr bool | std::ranges::views::__detail::__is_empty_view< empty_view< _Tp > >
template<typename _Range >
constexpr bool | std::ranges::views::__detail::__is_iota_view
template<typename _Winc , typename _Bound >
constexpr bool | std::ranges::views::__detail::__is_iota_view< iota_view< _Winc, _Bound > >
template<typename >
constexpr bool | std::ranges::views::__detail::__is_reverse_view
template<typename _Vp >
constexpr bool | std::ranges::views::__detail::__is_reverse_view< reverse_view< _Vp > >
template<typename >
constexpr bool | std::ranges::views::__detail::__is_reversible_subrange
template<typename _Iter , subrange_kind _Kind>
constexpr bool | std::ranges::views::__detail::__is_reversible_subrange< subrange< reverse_iterator< _Iter >, reverse_iterator< _Iter >, _Kind > >
template<typename _Range >
constexpr bool | std::ranges::views::__detail::__is_subrange
template<typename _Iter , typename _Sent , subrange_kind _Kind>
constexpr bool | std::ranges::views::__detail::__is_subrange< subrange< _Iter, _Sent, _Kind > >
constexpr _All | std::ranges::views::all
constexpr _Common | std::ranges::views::common
constexpr _Counted | std::ranges::views::counted
constexpr _Drop | std::ranges::views::drop
constexpr _DropWhile | std::ranges::views::drop_while
template<size_t _Nm>
constexpr _Elements< _Nm > | std::ranges::views::elements
template<typename _Tp >
constexpr empty_view< _Tp > | std::ranges::views::empty
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< common_view< _Tp > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< drop_view< _Tp > >
template<typename _Tp , typename _Pred >
constexpr bool | std::ranges::enable_borrowed_range< drop_while_view< _Tp, _Pred > >
template<typename _Tp , size_t _Nm>
constexpr bool | std::ranges::enable_borrowed_range< elements_view< _Tp, _Nm > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< empty_view< _Tp > >
template<typename _Winc , typename _Bound >
constexpr bool | std::ranges::enable_borrowed_range< iota_view< _Winc, _Bound > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< owning_view< _Tp > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< ref_view< _Tp > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< reverse_view< _Tp > >
template<typename _Tp >
constexpr bool | std::ranges::enable_borrowed_range< take_view< _Tp > >
constexpr _Filter | std::ranges::views::filter
constexpr _Iota | std::ranges::views::iota
constexpr _Join | std::ranges::views::join
constexpr auto | std::ranges::views::keys
constexpr _LazySplit | std::ranges::views::lazy_split
constexpr _Reverse | std::ranges::views::reverse
constexpr _Single | std::ranges::views::single
constexpr _Split | std::ranges::views::split
constexpr _Take | std::ranges::views::take
constexpr _TakeWhile | std::ranges::views::take_while
constexpr _Transform | std::ranges::views::transform
constexpr auto | std::ranges::views::values

## Detailed Description

This is a Standard C++ Library header.

Definition in file ranges.

## Macro Definition Documentation

## _GLIBCXX_RANGES

#define _GLIBCXX_RANGES

Definition at line 31 of file ranges.

## Typedef Documentation

## __maybe_const_t

template<bool _Const, typename _Tp >

using std::ranges::__detail::__maybe_const_t = typedef __conditional_t<_Const, const _Tp, _Tp>

Definition at line 842 of file ranges.

## __maybe_present_t

template<bool _Present, typename _Tp >

using std::ranges::__detail::__maybe_present_t = typedef __conditional_t<_Present, _Tp, _Empty>

Definition at line 838 of file ranges.

## all_t

template<viewable_range _Range>

using std::ranges::views::all_t = typedef decltype(all(std::declval<_Range>()))

Definition at line 1294 of file ranges.

## istream_view

template<typename _Val >

using std::ranges::istream_view = typedef basic_istream_view<_Val, char>

Definition at line 798 of file ranges.

## keys_view

template<typename _Range >

using std::ranges::keys_view = typedef elements_view<views::all_t<_Range>, 0>

Definition at line 4341 of file ranges.

## values_view

template<typename _Range >

using std::ranges::values_view = typedef elements_view<views::all_t<_Range>, 1>

Definition at line 4344 of file ranges.

## wistream_view

template<typename _Val >

using std::ranges::wistream_view = typedef basic_istream_view<_Val, wchar_t>

Definition at line 801 of file ranges.

## Variable Documentation

## __is_basic_string_view

template<typename _Range >

constexpr bool std::ranges::views::__detail::__is_basic_string_view

inline constexpr

Definition at line 2254 of file ranges.

## __is_basic_string_view< basic_string_view< _CharT, _Traits > >

template<typename _CharT , typename _Traits >

constexpr bool std::ranges::views::__detail::__is_basic_string_view< basic_string_view< _CharT, _Traits > >

inline constexpr

Definition at line 2257 of file ranges.

## __is_empty_view

template<typename _Range >

constexpr bool std::ranges::views::__detail::__is_empty_view

inline constexpr

Definition at line 2248 of file ranges.

## __is_empty_view< empty_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::views::__detail::__is_empty_view< empty_view< _Tp > >

inline constexpr

Definition at line 2251 of file ranges.

## __is_iota_view

template<typename _Range >

constexpr bool std::ranges::views::__detail::__is_iota_view

inline constexpr

Definition at line 2267 of file ranges.

## __is_iota_view< iota_view< _Winc, _Bound > >

template<typename _Winc , typename _Bound >

constexpr bool std::ranges::views::__detail::__is_iota_view< iota_view< _Winc, _Bound > >

inline constexpr

Definition at line 2270 of file ranges.

## __is_reverse_view

template<typename >

constexpr bool std::ranges::views::__detail::__is_reverse_view

inline constexpr

Definition at line 3946 of file ranges.

## __is_reverse_view< reverse_view< _Vp > >

template<typename _Vp >

constexpr bool std::ranges::views::__detail::__is_reverse_view< reverse_view< _Vp > >

inline constexpr

Definition at line 3949 of file ranges.

## __is_reversible_subrange

template<typename >

constexpr bool std::ranges::views::__detail::__is_reversible_subrange

inline constexpr

Definition at line 3937 of file ranges.

## __is_reversible_subrange< subrange< reverse_iterator< _Iter >, reverse_iterator< _Iter >, _Kind > >

template<typename _Iter , subrange_kind _Kind>

constexpr bool std::ranges::views::__detail::__is_reversible_subrange< subrange< reverse_iterator< _Iter >, reverse_iterator< _Iter >, _Kind > >

inline constexpr

Definition at line 3940 of file ranges.

## __is_subrange

template<typename _Range >

constexpr bool std::ranges::views::__detail::__is_subrange

inline constexpr

Definition at line 2261 of file ranges.

## __is_subrange< subrange< _Iter, _Sent, _Kind > >

template<typename _Iter , typename _Sent , subrange_kind _Kind>

constexpr bool std::ranges::views::__detail::__is_subrange< subrange< _Iter, _Sent, _Kind > >

inline constexpr

Definition at line 2264 of file ranges.

## all

constexpr _All std::ranges::views::all

inline constexpr

Definition at line 1291 of file ranges.

## common

constexpr _Common std::ranges::views::common

inline constexpr

Definition at line 3852 of file ranges.

## counted

constexpr _Counted std::ranges::views::counted

inline constexpr

Definition at line 3730 of file ranges.

## drop

constexpr _Drop std::ranges::views::drop

inline constexpr

Definition at line 2594 of file ranges.

## drop_while

constexpr _DropWhile std::ranges::views::drop_while

inline constexpr

Definition at line 2681 of file ranges.

## elements

template<size_t _Nm>

constexpr _Elements<_Nm> std::ranges::views::elements

inline constexpr

Definition at line 4370 of file ranges.

## empty

template<typename _Tp >

constexpr empty_view<_Tp> std::ranges::views::empty

inline constexpr

Definition at line 672 of file ranges.

## enable_borrowed_range< common_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< common_view< _Tp > >

inline constexpr

Definition at line 3819 of file ranges.

## enable_borrowed_range< drop_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< drop_view< _Tp > >

inline constexpr

Definition at line 2535 of file ranges.

## enable_borrowed_range< drop_while_view< _Tp, _Pred > >

template<typename _Tp , typename _Pred >

constexpr bool std::ranges::enable_borrowed_range< drop_while_view< _Tp, _Pred > >

inline constexpr

Definition at line 2653 of file ranges.

## enable_borrowed_range< elements_view< _Tp, _Nm > >

template<typename _Tp , size_t _Nm>

constexpr bool std::ranges::enable_borrowed_range< elements_view< _Tp, _Nm > >

inline constexpr

Definition at line 4337 of file ranges.

## enable_borrowed_range< empty_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< empty_view< _Tp > >

inline constexpr

Definition at line 86 of file ranges.

## enable_borrowed_range< iota_view< _Winc, _Bound > >

template<typename _Winc , typename _Bound >

constexpr bool std::ranges::enable_borrowed_range< iota_view< _Winc, _Bound > >

inline constexpr

Definition at line 666 of file ranges.

## enable_borrowed_range< owning_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< owning_view< _Tp > >

inline constexpr

Definition at line 1244 of file ranges.

## enable_borrowed_range< ref_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< ref_view< _Tp > >

inline constexpr

Definition at line 1164 of file ranges.

## enable_borrowed_range< reverse_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< reverse_view< _Tp > >

inline constexpr

Definition at line 3929 of file ranges.

## enable_borrowed_range< take_view< _Tp > >

template<typename _Tp >

constexpr bool std::ranges::enable_borrowed_range< take_view< _Tp > >

inline constexpr

Definition at line 2240 of file ranges.

## filter

constexpr _Filter std::ranges::views::filter

inline constexpr

Definition at line 1709 of file ranges.

## iota

constexpr _Iota std::ranges::views::iota

inline constexpr

Definition at line 712 of file ranges.

## join

constexpr _Join std::ranges::views::join

inline constexpr

Definition at line 3044 of file ranges.

## keys

constexpr auto std::ranges::views::keys

inline constexpr

Definition at line 4371 of file ranges.

## lazy_split

constexpr _LazySplit std::ranges::views::lazy_split

inline constexpr

Definition at line 3507 of file ranges.

## reverse

constexpr _Reverse std::ranges::views::reverse

inline constexpr

Definition at line 3985 of file ranges.

## single

constexpr _Single std::ranges::views::single

inline constexpr

Definition at line 690 of file ranges.

## split

constexpr _Split std::ranges::views::split

inline constexpr

Definition at line 3709 of file ranges.

## take

constexpr _Take std::ranges::views::take

inline constexpr

Definition at line 2320 of file ranges.

## take_while

constexpr _TakeWhile std::ranges::views::take_while

inline constexpr

Definition at line 2442 of file ranges.

## transform

constexpr _Transform std::ranges::views::transform

inline constexpr

Definition at line 2086 of file ranges.

## values

constexpr auto std::ranges::views::values

inline constexpr

Definition at line 4372 of file ranges.