libstdc++: ranges_base.h File Reference

libstdc++

ranges_base.h File Reference

Go to the source code of this file.

## Classes
struct | std::ranges::dangling
struct | std::ranges::view_base

## Namespaces
namespace | std

## Concepts
concept | std::ranges::bidirectional_range
concept | std::ranges::borrowed_range
concept | std::ranges::common_range
concept | std::ranges::contiguous_range
concept | std::ranges::forward_range
concept | std::ranges::input_range
concept | std::ranges::output_range
concept | std::ranges::random_access_range
concept | std::ranges::range
concept | std::ranges::sized_range
concept | std::ranges::view
concept | std::ranges::viewable_range

## Macros
#define | _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(_I, _P)

## Typedefs
template<typename _Tp>
using | std::ranges::__detail::__make_unsigned_like_t
template<typename _Tp>
using | std::ranges::__access::__range_iter_t
template<range _Range>
using | std::ranges::borrowed_iterator_t
template<range _Range>
using | std::ranges::const_iterator_t
template<range _Range>
using | std::ranges::const_sentinel_t
template<typename _Tp>
using | std::ranges::iterator_t
template<range _Range>
using | std::ranges::range_common_reference_t
template<range _Range>
using | std::ranges::range_const_reference_t
template<range _Range>
using | std::ranges::range_difference_t
template<range _Range>
using | std::ranges::range_reference_t
template<range _Range>
using | std::ranges::range_rvalue_reference_t
template<sized_range _Range>
using | std::ranges::range_size_t
template<range _Range>
using | std::ranges::range_value_t
template<range _Range>
using | std::ranges::sentinel_t

## Functions
template<typename _Tp, typename _Up>
void | std::ranges::__detail::__is_derived_from_view_interface_fn (const _Tp &, const view_interface< _Up > &)
template<input_range _Range>
constexpr auto & | std::ranges::__access::__possibly_const_range (_Range &__r) noexcept
constexpr __max_size_type | std::ranges::__detail::__to_unsigned_like (__max_diff_type __t) noexcept
constexpr __max_size_type | std::ranges::__detail::__to_unsigned_like (__max_size_type __t) noexcept
template<integral _Tp>
constexpr auto | std::ranges::__detail::__to_unsigned_like (_Tp __t) noexcept
void | std::ranges::__access::end ()=delete
void | std::ranges::__access::rbegin ()=delete
void | std::ranges::__access::rend ()=delete
void | std::ranges::__access::size ()=delete

## Variables
template<typename _Tp>
constexpr bool | std::ranges::__detail::__is_initializer_list
template<typename _Tp>
constexpr bool | std::ranges::__detail::__is_initializer_list< initializer_list< _Tp > >
constexpr __advance_fn | std::ranges::advance
constexpr ranges::__access::_Begin | std::ranges::begin
constexpr ranges::__access::_CBegin | std::ranges::cbegin
constexpr ranges::__access::_CData | std::ranges::cdata
constexpr ranges::__access::_CEnd | std::ranges::cend
constexpr ranges::__access::_CRBegin | std::ranges::crbegin
constexpr ranges::__access::_CREnd | std::ranges::crend
constexpr ranges::__access::_Data | std::ranges::data
template<typename>
constexpr bool | std::ranges::disable_sized_range
constexpr __distance_fn | std::ranges::distance
constexpr ranges::__access::_Empty | std::ranges::empty
template<typename _Tp>
constexpr bool | std::ranges::enable_borrowed_range
template<typename _Tp>
constexpr bool | std::ranges::enable_view
constexpr ranges::__access::_End | std::ranges::end
constexpr __next_fn | std::ranges::next
constexpr __prev_fn | std::ranges::prev
constexpr ranges::__access::_RBegin | std::ranges::rbegin
constexpr ranges::__access::_REnd | std::ranges::rend
constexpr ranges::__access::_Size | std::ranges::size
constexpr ranges::__access::_SSize | std::ranges::ssize

## Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <ranges>.

Definition in file ranges_base.h.

## Macro Definition Documentation

## ◆ _GLIBCXX26_RANGE_ALGO_DEF_VAL_T

#define _GLIBCXX26_RANGE_ALGO_DEF_VAL_T | ( |  | _I,
|  |  | _P )

Definition at line 52 of file ranges_base.h.

## Typedef Documentation

## ◆ __make_unsigned_like_t

template<typename _Tp>

using std::ranges::__detail::__make_unsigned_like_t

Definition at line 88 of file ranges_base.h.

## ◆ __range_iter_t

template<typename _Tp>

using std::__detail::__range_iter_t

Definition at line 1022 of file iterator_concepts.h.

## ◆ borrowed_iterator_t

template<range _Range>

using std::ranges::borrowed_iterator_t

Definition at line 1101 of file ranges_base.h.

## ◆ const_iterator_t

template<range _Range>

using std::ranges::const_iterator_t

Definition at line 816 of file ranges_base.h.

## ◆ const_sentinel_t

template<range _Range>

using std::ranges::const_sentinel_t

Definition at line 819 of file ranges_base.h.

## ◆ iterator_t

template<typename _Tp>

using std::ranges::iterator_t

Definition at line 522 of file ranges_base.h.

## ◆ range_common_reference_t

template<range _Range>

using std::ranges::range_common_reference_t

Definition at line 549 of file ranges_base.h.

## ◆ range_const_reference_t

template<range _Range>

using std::ranges::range_const_reference_t

Definition at line 531 of file ranges_base.h.

## ◆ range_difference_t

template<range _Range>

using std::ranges::range_difference_t

Definition at line 535 of file ranges_base.h.

## ◆ range_reference_t

template<range _Range>

using std::ranges::range_reference_t

Definition at line 541 of file ranges_base.h.

## ◆ range_rvalue_reference_t

template<range _Range>

using std::ranges::range_rvalue_reference_t

Definition at line 544 of file ranges_base.h.

## ◆ range_size_t

template<sized_range _Range>

using std::ranges::range_size_t

Definition at line 557 of file ranges_base.h.

## ◆ range_value_t

template<range _Range>

using std::ranges::range_value_t

Definition at line 538 of file ranges_base.h.

## ◆ sentinel_t

template<range _Range>

using std::ranges::sentinel_t

Definition at line 525 of file ranges_base.h.

## Function Documentation

## ◆ __possibly_const_range()

template<input_range _Range>

auto & std::ranges::__access::__possibly_const_range | ( | _Range & | __r | ) |
| constexprnoexcept

Definition at line 642 of file ranges_base.h.

## ◆ __to_unsigned_like() [1/3]

__max_size_type std::ranges::__detail::__to_unsigned_like | ( | __max_diff_type | __t | ) |
| constexprnoexcept

Definition at line 78 of file ranges_base.h.

## ◆ __to_unsigned_like() [2/3]

__max_size_type std::ranges::__detail::__to_unsigned_like | ( | __max_size_type | __t | ) |
| constexprnoexcept

Definition at line 73 of file ranges_base.h.

## ◆ __to_unsigned_like() [3/3]

template<integral _Tp>

auto std::ranges::__detail::__to_unsigned_like | ( | _Tp | __t | ) |
| constexprnoexcept

Definition at line 84 of file ranges_base.h.

## Variable Documentation

## ◆ __is_initializer_list

template<typename _Tp>

bool std::ranges::__detail::__is_initializer_list
| inlineconstexpr

Definition at line 825 of file ranges_base.h.

## ◆ __is_initializer_list< initializer_list< _Tp > >

template<typename _Tp>

bool std::ranges::__detail::__is_initializer_list< initializer_list< _Tp > >
| inlineconstexpr

Definition at line 828 of file ranges_base.h.

## ◆ advance

__advance_fn std::ranges::advance
| inlineconstexpr

Definition at line 966 of file ranges_base.h.

## ◆ begin

ranges::__access::_Begin std::ranges::_Cpo::begin
| inlineconstexpr

Definition at line 498 of file ranges_base.h.

## ◆ cbegin

ranges::__access::_CBegin std::ranges::_Cpo::cbegin
| inlineconstexpr

Definition at line 805 of file ranges_base.h.

## ◆ cdata

ranges::__access::_CData std::ranges::_Cpo::cdata
| inlineconstexpr

Definition at line 809 of file ranges_base.h.

## ◆ cend

ranges::__access::_CEnd std::ranges::_Cpo::cend
| inlineconstexpr

Definition at line 806 of file ranges_base.h.

## ◆ crbegin

ranges::__access::_CRBegin std::ranges::_Cpo::crbegin
| inlineconstexpr

Definition at line 807 of file ranges_base.h.

## ◆ crend

ranges::__access::_CREnd std::ranges::_Cpo::crend
| inlineconstexpr

Definition at line 808 of file ranges_base.h.

## ◆ data

ranges::__access::_Data std::ranges::_Cpo::data
| inlineconstexpr

Definition at line 505 of file ranges_base.h.

## ◆ disable_sized_range

template<typename>

bool std::ranges::disable_sized_range
| inlineconstexpr

Definition at line 64 of file ranges_base.h.

## ◆ distance

__distance_fn std::ranges::distance
| inlineconstexpr

Definition at line 1013 of file ranges_base.h.

## ◆ empty

ranges::__access::_Empty std::ranges::_Cpo::empty
| inlineconstexpr

Definition at line 504 of file ranges_base.h.

## ◆ enable_borrowed_range

template<typename _Tp>

bool std::ranges::enable_borrowed_range
| inlineconstexpr

Definition at line 67 of file ranges_base.h.

## ◆ enable_view

template<typename _Tp>

bool std::ranges::enable_view
| inlineconstexpr

[range.view] The ranges::enable_view boolean.

Definition at line 582 of file ranges_base.h.

## ◆ end

ranges::__access::_End std::ranges::_Cpo::end
| inlineconstexpr

Definition at line 499 of file ranges_base.h.

## ◆ next

__next_fn std::ranges::next
| inlineconstexpr

Definition at line 1056 of file ranges_base.h.

## ◆ prev

__prev_fn std::ranges::prev
| inlineconstexpr

Definition at line 1090 of file ranges_base.h.

## ◆ rbegin

ranges::__access::_RBegin std::ranges::_Cpo::rbegin
| inlineconstexpr

Definition at line 500 of file ranges_base.h.

## ◆ rend

ranges::__access::_REnd std::ranges::_Cpo::rend
| inlineconstexpr

Definition at line 501 of file ranges_base.h.

## ◆ size

ranges::__access::_Size std::ranges::_Cpo::size
| inlineconstexpr

Definition at line 502 of file ranges_base.h.

## ◆ ssize

ranges::__access::_SSize std::ranges::_Cpo::ssize
| inlineconstexpr

Definition at line 503 of file ranges_base.h.