libstdc++
GNU C++ library
Loading...
Searching...
No Matches
iterator_concepts.h File Reference
#include <concepts>
#include <bits/ptr_traits.h>
#include <bits/ranges_cmp.h>
Include dependency graph for iterator_concepts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  std::__detail::__cond_value_type< typename >
struct  std::__detail::__cond_value_type< _Tp >
struct  std::__detail::__indirect_value< _Tp >
struct  std::__detail::__indirect_value< _Tp >
struct  std::__detail::__iter_concept_impl< _Iter >
struct  std::__detail::__iter_concept_impl< _Iter >
struct  std::__detail::__iter_traits_impl< _Iter, _Tp >
struct  std::__detail::__iter_traits_impl< _Iter, _Tp >
struct  std::__detail::__projected< _Iter, _Proj >
struct  std::__detail::__projected< _Iter, _Proj >::__type
struct  std::__detail::__projected< _Iter, _Proj >
struct  std::__detail::__projected< _Iter, _Proj >::__type
struct  std::__iterator_traits< _Iterator, void >
struct  std::__iterator_traits< _Iterator, void >::__cat< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__cat< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__diff< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__diff< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__ptr< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__ptr< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__ref< _Iter >
struct  std::__iterator_traits< _Iterator, void >::__ref< _Iter >
struct  std::default_sentinel_t
struct  std::incrementable_traits< typename >
struct  std::incrementable_traits< _Tp * >
struct  std::incrementable_traits< _Tp >
struct  std::incrementable_traits< const _Iter >
struct  std::indirectly_readable_traits< typename >
struct  std::indirectly_readable_traits< _Iter >
struct  std::indirectly_readable_traits< _Tp * >
struct  std::indirectly_readable_traits< _Tp >
struct  std::indirectly_readable_traits< const _Iter >
struct  std::unreachable_sentinel_t

Namespaces

namespace  std
namespace  std::__detail
namespace  std::ranges
namespace  std::ranges::__access
namespace  std::ranges::__detail
namespace  std::ranges::_Cpo

Concepts

concept  std::__detail::__can_reference
concept  std::__detail::__cpp17_bidi_iterator
concept  std::__detail::__cpp17_fwd_iterator
concept  std::__detail::__cpp17_input_iterator
concept  std::__detail::__cpp17_iterator
concept  std::__detail::__cpp17_randacc_iterator
concept  std::__detail::__dereferenceable
concept  std::__detail::__has_member_element_type
concept  std::__detail::__has_member_value_type
concept  std::__detail::__indirectly_readable_impl
concept  std::__detail::__iter_with_nested_types
concept  std::__detail::__iter_without_category
concept  std::__detail::__iter_without_nested_types
concept  std::__detail::__primary_traits_iter
concept  std::bidirectional_iterator
concept  std::contiguous_iterator
concept  std::forward_iterator
concept  std::incrementable
concept  std::indirect_binary_predicate
concept  std::indirect_equivalence_relation
concept  std::indirect_strict_weak_order
concept  std::indirect_unary_predicate
concept  std::indirectly_comparable
concept  std::indirectly_copyable
concept  std::indirectly_copyable_storable
concept  std::indirectly_movable
concept  std::indirectly_movable_storable
concept  std::indirectly_readable
concept  std::indirectly_regular_unary_invocable
concept  std::indirectly_swappable
concept  std::indirectly_unary_invocable
concept  std::indirectly_writable
concept  std::input_iterator
concept  std::input_or_output_iterator
concept  std::mergeable
concept  std::output_iterator
concept  std::permutable
concept  std::random_access_iterator
concept  std::ranges::__access::__adl_begin
concept  std::ranges::__access::__member_begin
concept  std::ranges::__detail::__cv_bool
concept  std::ranges::__detail::__integral_nonbool
concept  std::ranges::__detail::__is_integer_like
concept  std::ranges::__detail::__is_signed_integer_like
concept  std::sentinel_for
concept  std::sized_sentinel_for
concept  std::sortable
concept  std::weakly_incrementable

Typedefs

template<typename _Tp>
using std::__indirect_value_t = typename __detail::__indirect_value<_Tp>::type
template<typename _Iter>
using std::__detail::__iter_concept = typename __iter_concept_impl<_Iter>::type
template<typename _Tp>
using std::__detail::__iter_diff_t
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
template<typename _Tp>
using std::__detail::__range_iter_t = decltype(ranges::__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>, __indirect_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::__imove::_IterMove::__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>
constexpr auto std::ranges::__access::__begin (_Tp &__t)
void std::ranges::__access::begin ()=delete

Variables

constexpr default_sentinel_t std::default_sentinel {}
template<typename _Sent, typename _Iter>
constexpr bool std::disable_sized_sentinel_for = false
constexpr __imove::_IterMove std::ranges::_Cpo::iter_move {}
constexpr __iswap::_IterSwap std::ranges::_Cpo::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.