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
 
template<typename _Iter1, typename _Iter2>
using std::ranges::mismatch_result
 

Enumerations

enum class  subrange_kind : bool { unsized , sized }
 

Functions

template<size_t _Num, class _It, class _Sent, subrange_kind _Kind>
requires ((_Num == 0 && copyable<_It>) || _Num == 1)
constexpr auto std::get (const subrange< _It, _Sent, _Kind > &__r)
 
template<size_t _Num, class _It, class _Sent, subrange_kind _Kind>
requires ((_Num == 0 && copyable<_It>) || _Num == 1)
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

Definition at line 478 of file ranges_util.h.

◆ mismatch_result

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

Definition at line 628 of file ranges_util.h.

Enumeration Type Documentation

◆ subrange_kind

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

Definition at line 262 of file ranges_util.h.

Function Documentation

◆ get() [1/2]

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

Definition at line 454 of file ranges_util.h.

◆ get() [2/2]

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

Definition at line 465 of file ranges_util.h.

Variable Documentation

◆ adjacent_find

__adjacent_find_fn std::ranges::adjacent_find
inlineconstexpr

Definition at line 826 of file ranges_util.h.

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

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

Definition at line 474 of file ranges_util.h.

◆ find

__find_fn std::ranges::find
inlineconstexpr

Definition at line 548 of file ranges_util.h.

◆ find_if

__find_if_fn std::ranges::find_if
inlineconstexpr

Definition at line 576 of file ranges_util.h.

◆ find_if_not

__find_if_not_fn std::ranges::find_if_not
inlineconstexpr

Definition at line 604 of file ranges_util.h.

◆ min

__min_fn std::ranges::min
inlineconstexpr

Definition at line 788 of file ranges_util.h.

◆ mismatch

__mismatch_fn std::ranges::mismatch
inlineconstexpr

Definition at line 670 of file ranges_util.h.

◆ search

__search_fn std::ranges::search
inlineconstexpr

Definition at line 734 of file ranges_util.h.