ranges_base.h File Reference

Go to the source code of this file.

## Classes

struct | std::ranges::dangling
struct | std::ranges::view_base

## Namespaces

| std

## Typedefs

template<typename _Tp >
using | std::ranges::__detail::__make_unsigned_like_t = decltype(__detail::__to_unsigned_like(std::declval< _Tp >()))
template<range _Range>
using | std::ranges::borrowed_iterator_t = __conditional_t< borrowed_range< _Range >, iterator_t< _Range >, dangling >
template<typename _Tp >
using | std::ranges::iterator_t = std::__detail::__range_iter_t< _Tp >
template<range _Range>
using | std::ranges::range_difference_t = iter_difference_t< iterator_t< _Range > >
template<range _Range>
using | std::ranges::range_reference_t = iter_reference_t< iterator_t< _Range > >
template<range _Range>
using | std::ranges::range_rvalue_reference_t = iter_rvalue_reference_t< iterator_t< _Range > >
template<sized_range _Range>
using | std::ranges::range_size_t = decltype(ranges::size(std::declval< _Range & >()))
template<range _Range>
using | std::ranges::range_value_t = iter_value_t< iterator_t< _Range > >
template<range _Range>
using | std::ranges::sentinel_t = decltype(ranges::end(std::declval< _Range & >()))

## Functions

template<typename _To , typename _Tp >
constexpr decltype(auto) | std::ranges::__cust_access::__as_const (_Tp &__t) 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::__cust_access::end (auto &)=delete
void | std::ranges::__cust_access::end (const auto &)=delete
void | std::ranges::__cust_access::rbegin (auto &)=delete
void | std::ranges::__cust_access::rbegin (const auto &)=delete
void | std::ranges::__cust_access::rend (auto &)=delete
void | std::ranges::__cust_access::rend (const auto &)=delete
template<typename _Tp , typename _Up >
| std::ranges::__detail::requires (!same_as< _Tp, view_interface< _Up >>) void __is_derived_from_view_interface_fn(const _Tp &
void | std::ranges::__cust_access::size (auto &)=delete
void | std::ranges::__cust_access::size (const auto &)=delete

## Variables

template<typename _Tp >
concept | std::ranges::__cust_access::__adl_end
template<typename _Tp >
concept | std::ranges::__cust_access::__adl_rbegin
template<typename _Tp >
concept | std::ranges::__cust_access::__adl_rend
template<typename _Tp >
concept | std::ranges::__cust_access::__adl_size
template<typename _Tp >
concept | std::ranges::__cust_access::__begin_data
template<typename _Tp >
concept | std::ranges::__cust_access::__eq_iter_empty
template<typename _Tp >
const view_interface< _Up > &concept | std::ranges::__detail::__is_derived_from_view_interface
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 > >
template<typename _Tp >
concept | std::ranges::__detail::__maybe_borrowed_range
template<typename _Tp >
concept | std::ranges::__cust_access::__member_data
template<typename _Tp >
concept | std::ranges::__cust_access::__member_empty
template<typename _Tp >
concept | std::ranges::__cust_access::__member_end
template<typename _Tp >
concept | std::ranges::__cust_access::__member_rbegin
template<typename _Tp >
concept | std::ranges::__cust_access::__member_rend
template<typename _Tp >
concept | std::ranges::__cust_access::__member_size
template<typename _Tp >
concept | std::ranges::__cust_access::__pointer_to_object
template<typename _Tp >
concept | std::ranges::__cust_access::__reversable
template<typename _Tp >
concept | std::ranges::__cust_access::__sentinel_size
template<typename _Tp >
concept | std::ranges::__cust_access::__size0_empty
constexpr __advance_fn | std::ranges::advance
constexpr __cust_access::_Begin | std::ranges::begin
template<typename _Tp >
concept | std::ranges::bidirectional_range
template<typename _Tp >
concept | std::ranges::borrowed_range
constexpr __cust_access::_CBegin | std::ranges::cbegin
constexpr __cust_access::_CData | std::ranges::cdata
constexpr __cust_access::_CEnd | std::ranges::cend
template<typename _Tp >
concept | std::ranges::common_range
template<typename _Tp >
concept | std::ranges::contiguous_range
constexpr __cust_access::_CRBegin | std::ranges::crbegin
constexpr __cust_access::_CREnd | std::ranges::crend
constexpr __cust_access::_Data | std::ranges::data
template<typename >
constexpr bool | std::ranges::disable_sized_range
constexpr __distance_fn | std::ranges::distance
constexpr __cust_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 __cust_access::_End | std::ranges::end
template<typename _Tp >
concept | std::ranges::forward_range
template<typename _Tp >
concept | std::ranges::input_range
constexpr __next_fn | std::ranges::next
template<typename _Range , typename _Tp >
concept | std::ranges::output_range
constexpr __prev_fn | std::ranges::prev
template<typename _Tp >
concept | std::ranges::random_access_range
template<typename _Tp >
concept | std::ranges::range
constexpr __cust_access::_RBegin | std::ranges::rbegin
constexpr __cust_access::_REnd | std::ranges::rend
constexpr __cust_access::_Size | std::ranges::size
template<typename _Tp >
concept | std::ranges::sized_range
constexpr __cust_access::_SSize | std::ranges::ssize
template<typename _Tp >
concept | std::ranges::view
template<typename _Tp >
concept | std::ranges::viewable_range

## 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.

## Variable Documentation

## bidirectional_range

template<typename _Tp >

concept std::ranges::bidirectional_range

A range for which ranges::begin returns a bidirectional iterator.

Definition at line 670 of file ranges_base.h.

## borrowed_range

template<typename _Tp >

concept std::ranges::borrowed_range

[range.range] The borrowed_range concept.

Definition at line 591 of file ranges_base.h.

## common_range

template<typename _Tp >

concept std::ranges::common_range

A range for which ranges::begin and ranges::end return the same type.

Definition at line 689 of file ranges_base.h.

## contiguous_range

template<typename _Tp >

concept std::ranges::contiguous_range

A range for which ranges::begin returns a contiguous iterator.

Definition at line 680 of file ranges_base.h.

## enable_view

template<typename _Tp >

constexpr bool std::ranges::enable_view

inline constexpr

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

Definition at line 644 of file ranges_base.h.

## forward_range

template<typename _Tp >

concept std::ranges::forward_range

A range for which ranges::begin returns a forward iterator.

Definition at line 665 of file ranges_base.h.

## input_range

template<typename _Tp >

concept std::ranges::input_range

A range for which ranges::begin returns an input iterator.

Definition at line 661 of file ranges_base.h.

## output_range

template<typename _Range , typename _Tp >

concept std::ranges::output_range

A range for which ranges::begin returns an output iterator.

Definition at line 656 of file ranges_base.h.

## random_access_range

template<typename _Tp >

concept std::ranges::random_access_range

A range for which ranges::begin returns a random access iterator.

Definition at line 675 of file ranges_base.h.

## range

template<typename _Tp >

concept std::ranges::range

[range.range] The range concept.

Definition at line 583 of file ranges_base.h.

## sized_range

template<typename _Tp >

concept std::ranges::sized_range

[range.sized] The sized_range concept.

Definition at line 615 of file ranges_base.h.

## view

template<typename _Tp >

concept std::ranges::view

[range.view] The ranges::view concept.

Definition at line 649 of file ranges_base.h.

## viewable_range

template<typename _Tp >

concept std::ranges::viewable_range

A range which can be safely converted to a view.

Definition at line 703 of file ranges_base.h.