libstdc++
ranges_util.h File Reference

Go to the source code of this file.

Classes

class  std::ranges::subrange< _It, _Sent, _Kind >
 
class  std::ranges::view_interface< _Derived >
 

Namespaces

namespace  std
 

Typedefs

template<range _Range>
using std::ranges::borrowed_subrange_t = __conditional_t< borrowed_range< _Range >, subrange< iterator_t< _Range > >, dangling >
 
template<typename _Iter1 , typename _Iter2 >
using std::ranges::mismatch_result = in_in_result< _Iter1, _Iter2 >
 

Enumerations

enum class  subrange_kind : bool { unsized , sized }
 

Functions

template<size_t _Num, class _It , class _Sent , subrange_kind _Kind>
requires (_Num < 2)
constexpr auto std::ranges::get (const subrange< _It, _Sent, _Kind > &__r)
 
template<size_t _Num, class _It , class _Sent , subrange_kind _Kind>
requires (_Num < 2)
constexpr auto std::ranges::get (subrange< _It, _Sent, _Kind > &&__r)
 
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
 std::ranges::subrange (_It, _Sent) -> subrange< _It, _Sent >
 
template<input_or_output_iterator _It, sentinel_for< _It > _Sent>
 std::ranges::subrange (_It, _Sent, __detail::__make_unsigned_like_t< iter_difference_t< _It > >) -> subrange< _It, _Sent, subrange_kind::sized >
 
template<borrowed_range _Rng>
 std::ranges::subrange (_Rng &&) -> subrange< iterator_t< _Rng >, sentinel_t< _Rng >,(sized_range< _Rng >||sized_sentinel_for< sentinel_t< _Rng >, iterator_t< _Rng > >) ? subrange_kind::sized :subrange_kind::unsized >
 
template<borrowed_range _Rng>
 std::ranges::subrange (_Rng &&, __detail::__make_unsigned_like_t< range_difference_t< _Rng > >) -> subrange< iterator_t< _Rng >, sentinel_t< _Rng >, subrange_kind::sized >
 

Variables

constexpr __adjacent_find_fn std::ranges::adjacent_find
 
template<typename _It , typename _Sent , subrange_kind _Kind>
constexpr bool std::ranges::enable_borrowed_range< subrange< _It, _Sent, _Kind > >
 
constexpr __find_fn std::ranges::find
 
constexpr __find_if_fn std::ranges::find_if
 
constexpr __find_if_not_fn std::ranges::find_if_not
 
constexpr __min_fn std::ranges::min
 
constexpr __mismatch_fn std::ranges::mismatch
 
constexpr __search_fn std::ranges::search
 

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_util.h.

Typedef Documentation

◆ borrowed_subrange_t

template<range _Range>
using std::ranges::borrowed_subrange_t = typedef __conditional_t<borrowed_range<_Range>, subrange<iterator_t<_Range> >, dangling>

Definition at line 429 of file ranges_util.h.

◆ mismatch_result

template<typename _Iter1 , typename _Iter2 >
using std::ranges::mismatch_result = typedef in_in_result<_Iter1, _Iter2>

Definition at line 546 of file ranges_util.h.

Enumeration Type Documentation

◆ subrange_kind

enum class std::ranges::subrange_kind : bool
strong

Definition at line 221 of file ranges_util.h.

Function Documentation

◆ get() [1/2]

template<size_t _Num, class _It , class _Sent , subrange_kind _Kind>
requires (_Num < 2)
constexpr auto std::ranges::get ( const subrange< _It, _Sent, _Kind > &  __r)
constexpr

Definition at line 405 of file ranges_util.h.

◆ get() [2/2]

template<size_t _Num, class _It , class _Sent , subrange_kind _Kind>
requires (_Num < 2)
constexpr auto std::ranges::get ( subrange< _It, _Sent, _Kind > &&  __r)
constexpr

Definition at line 416 of file ranges_util.h.

Variable Documentation

◆ adjacent_find

constexpr __adjacent_find_fn std::ranges::adjacent_find
inlineconstexpr

Definition at line 743 of file ranges_util.h.

◆ enable_borrowed_range< subrange< _It, _Sent, _Kind > >

template<typename _It , typename _Sent , subrange_kind _Kind>
constexpr bool std::ranges::enable_borrowed_range< subrange< _It, _Sent, _Kind > >
inlineconstexpr

Definition at line 425 of file ranges_util.h.

◆ find

constexpr __find_fn std::ranges::find
inlineconstexpr

Definition at line 466 of file ranges_util.h.

◆ find_if

constexpr __find_if_fn std::ranges::find_if
inlineconstexpr

Definition at line 494 of file ranges_util.h.

◆ find_if_not

constexpr __find_if_not_fn std::ranges::find_if_not
inlineconstexpr

Definition at line 522 of file ranges_util.h.

◆ min

constexpr __min_fn std::ranges::min
inlineconstexpr

Definition at line 705 of file ranges_util.h.

◆ mismatch

constexpr __mismatch_fn std::ranges::mismatch
inlineconstexpr

Definition at line 587 of file ranges_util.h.

◆ search

constexpr __search_fn std::ranges::search
inlineconstexpr

Definition at line 651 of file ranges_util.h.