iterator_concepts.h File Reference

Go to the source code of this file.

## Classes

struct | std::default_sentinel_t

## Namespaces

namespace | std
namespace | std::__detail

## Concepts

concept | std::indirectly_readable
concept | std::indirectly_writable
concept | std::weakly_incrementable
concept | std::indirectly_movable
concept | std::indirectly_copyable
concept | std::indirectly_swappable
concept | std::indirectly_comparable
concept | std::permutable
concept | std::mergeable
concept | std::sortable

## Typedefs

template<typename _Iter >
using | std::__detail::__iter_concept = typename __iter_concept_impl< _Iter >::type
template<typename _Tp >
using | std::__detail::__iter_diff_t = typename __iter_traits< _Tp, incrementable_traits< _Tp > >::difference_type
template<typename _Iter , typename _Tp = _Iter>
using | std::__detail::__iter_traits = typename __iter_traits_impl< _Iter, _Tp >::type
template<typename _Tp >
using | std::__detail::__iter_value_t = typename __iter_traits< _Tp, indirectly_readable_traits< _Tp > >::value_type
template<typename _Tp >
using | std::__detail::__range_iter_t = decltype(ranges::__cust_access::__begin(std::declval< _Tp & >()))
template<typename _Tp >
using | std::__detail::__with_ref = _Tp &
template<typename _Fn , typename... _Is>
using | std::indirect_result_t = invoke_result_t< _Fn, iter_reference_t< _Is >... >
template<indirectly_readable _Tp>
using | std::iter_common_reference_t = common_reference_t< iter_reference_t< _Tp >, iter_value_t< _Tp > & >
template<typename _Tp >
using | std::iter_difference_t = __detail::__iter_diff_t< remove_cvref_t< _Tp > >
template<__detail::__dereferenceable _Tp>
using | std::iter_reference_t = decltype(*std::declval< _Tp & >())
template<__detail::__dereferenceable _Tp>
using | std::iter_rvalue_reference_t = ranges::__cust_imove::_IMove::__type< _Tp & >
template<typename _Tp >
using | std::iter_value_t = __detail::__iter_value_t< remove_cvref_t< _Tp > >
template<indirectly_readable _Iter, indirectly_regular_unary_invocable< _Iter > _Proj>
using | std::projected = typename __detail::__projected< _Iter, _Proj >::__type

## Functions

template<typename _Tp > requires is_array_v<_Tp> || __member_begin<_Tp&> || __adl_begin<_Tp&>
auto | std::ranges::__cust_access::__begin (_Tp &__t)
template<typename _Xp , typename _Yp >
constexpr iter_value_t< _Xp > | std::ranges::__cust_iswap::__iter_exchange_move (_Xp &&__x, _Yp &&__y) noexcept(noexcept(iter_value_t< _Xp >(iter_move(__x))) &&noexcept(*__x=iter_move(__y)))
void | std::ranges::__cust_access::begin (auto &)=delete
void | std::ranges::__cust_access::begin (const auto &)=delete
void | std::ranges::__cust_imove::iter_move ()
template<typename _It1 , typename _It2 >
void | std::ranges::__cust_iswap::iter_swap (_It1, _It2)=delete

## Variables

struct std::ranges::__cust_access::_Decay_copy | std::ranges::__cust_access::__decay_copy
constexpr default_sentinel_t | std::default_sentinel
template<typename _Sent , typename _Iter >
constexpr bool | std::disable_sized_sentinel_for
constexpr __cust_imove::_IMove | std::ranges::iter_move
constexpr __cust_iswap::_IterSwap | std::ranges::iter_swap
constexpr unreachable_sentinel_t | std::unreachable_sentinel

## Detailed Description

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

Definition in file iterator_concepts.h.

## Function Documentation

## __begin()

template<typename _Tp >
requires is_array_v<_Tp> || __member_begin<_Tp&> || __adl_begin<_Tp&>

auto std::ranges::__cust_access::__begin | ( | _Tp & | __t | ) |

Definition at line 997 of file iterator_concepts.h.

## __iter_exchange_move()

template<typename _Xp , typename _Yp >

constexpr iter_value_t< _Xp > std::ranges::__cust_iswap::__iter_exchange_move | ( | _Xp && | __x,
|  | _Yp && | __y
| ) |  |

constexpr noexcept

Definition at line 849 of file iterator_concepts.h.

## Variable Documentation

## iter_move

constexpr __cust_imove::_IMove std::ranges::__cust::iter_move

inline constexpr

Definition at line 160 of file iterator_concepts.h.

## iter_swap

constexpr __cust_iswap::_IterSwap std::ranges::__cust::iter_swap

inline constexpr

Definition at line 905 of file iterator_concepts.h.