|
|
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 & |
| |
|
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 |
| |
|
|
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 |
| |
|
template<typename _Iter > |
| | std::__detail::requires (!requires { typename __iter_traits< _Iter >::iterator_concept;} &&!requires { typename __iter_traits< _Iter >::iterator_category;} &&__primary_traits_iter< _Iter >) struct __iter_concept_impl< _Iter > |
| |
|
template<typename _Iter > |
| | std::__detail::requires (!requires { typename __iter_traits< _Iter >::iterator_concept;} &&requires { typename __iter_traits< _Iter >::iterator_category;}) struct __iter_concept_impl< _Iter > |
| |
|
template<typename _Tp > |
| | std::requires (!requires { typename _Tp::difference_type;} &&requires(const _Tp &__a, const _Tp &__b) { { __a - __b } -> integral;}) struct incrementable_traits< _Tp > |
| |
|
template<typename _Fn , typename... _Is> |
| | std::requires (indirectly_readable< _Is > &&...) &&invocable< _Fn |
| |
|
|
template<typename _Tp > |
| concept | std::ranges::__cust_access::__adl_begin |
| |
|
template<typename _Tp > |
| concept | std::ranges::__cust_imove::__adl_imove |
| |
|
template<typename _Tp , typename _Up > |
| concept | std::ranges::__cust_iswap::__adl_iswap |
| |
|
template<typename _Tp > |
| concept | std::__detail::__can_reference |
| |
|
template<typename _Iter > |
| concept | std::__detail::__cpp17_bidi_iterator |
| |
|
template<typename _Iter > |
| concept | std::__detail::__cpp17_fwd_iterator |
| |
|
template<typename _Iter > |
| concept | std::__detail::__cpp17_input_iterator |
| |
|
template<typename _Iter > |
| concept | std::__detail::__cpp17_iterator |
| |
|
template<typename _Iter > |
| concept | std::__detail::__cpp17_randacc_iterator |
| |
|
template<typename _Tp > |
| concept | std::ranges::__detail::__cv_bool |
| |
|
struct std::ranges::__cust_access::_Decay_copy | std::ranges::__cust_access::__decay_copy |
| |
|
template<typename _Tp > |
| concept | std::__detail::__dereferenceable |
| |
|
template<typename _Tp > |
| concept | std::__detail::__has_member_element_type |
| |
|
template<typename _Tp > |
| concept | std::__detail::__has_member_value_type |
| |
|
template<typename _In > |
| concept | std::__detail::__indirectly_readable_impl |
| |
|
template<typename _Tp > |
| concept | std::ranges::__detail::__integral_nonbool |
| |
|
template<typename _Tp > |
| concept | std::ranges::__detail::__is_int128 |
| |
|
template<typename _Tp > |
| concept | std::ranges::__detail::__is_integer_like |
| |
|
template<typename _Tp > |
| __extension__ concept | std::ranges::__detail::__is_signed_int128 |
| |
|
template<typename _Tp > |
| concept | std::ranges::__detail::__is_signed_integer_like |
| |
|
template<typename _Tp > |
| __extension__ concept | std::ranges::__detail::__is_unsigned_int128 |
| |
|
template<typename _Iter > |
| concept | std::__detail::__iter_with_nested_types |
| |
|
template<typename _Iter > |
| concept | std::__detail::__iter_without_category |
| |
|
template<typename _Iter > |
| concept | std::__detail::__iter_without_nested_types |
| |
|
template<typename _Tp > |
| concept | std::ranges::__cust_access::__member_begin |
| |
|
template<typename _Iter > |
| concept | std::__detail::__primary_traits_iter |
| |
|
template<typename _Iter > |
| concept | std::bidirectional_iterator |
| |
|
template<typename _Iter > |
| concept | std::contiguous_iterator |
| |
| constexpr default_sentinel_t | std::default_sentinel |
| |
|
template<typename _Sent , typename _Iter > |
| constexpr bool | std::disable_sized_sentinel_for |
| |
|
template<typename _Iter > |
| concept | std::forward_iterator |
| |
|
template<typename _Iter > |
| concept | std::incrementable |
| |
|
template<typename _Fn , typename _I1 , typename _I2 > |
| concept | std::indirect_binary_predicate |
| |
|
template<typename _Fn , typename _I1 , typename _I2 = _I1> |
| concept | std::indirect_equivalence_relation |
| |
|
template<typename _Fn , typename _I1 , typename _I2 = _I1> |
| concept | std::indirect_strict_weak_order |
| |
|
template<typename _Fn , typename _Iter > |
| concept | std::indirect_unary_predicate |
| |
| template<typename _I1 , typename _I2 , typename _Rel , typename _P1 = identity, typename _P2 = identity> |
| concept | std::indirectly_comparable |
| |
| template<typename _In , typename _Out > |
| concept | std::indirectly_copyable |
| |
|
template<typename _In , typename _Out > |
| concept | std::indirectly_copyable_storable |
| |
| template<typename _In , typename _Out > |
| concept | std::indirectly_movable |
| |
|
template<typename _In , typename _Out > |
| concept | std::indirectly_movable_storable |
| |
| template<typename _In > |
| concept | std::indirectly_readable |
| |
|
template<typename _Fn , typename _Iter > |
| concept | std::indirectly_regular_unary_invocable |
| |
| template<typename _I1 , typename _I2 = _I1> |
| concept | std::indirectly_swappable |
| |
|
template<typename _Fn , typename _Iter > |
| concept | std::indirectly_unary_invocable |
| |
| template<typename _Out , typename _Tp > |
| concept | std::indirectly_writable |
| |
|
template<typename _Iter > |
| concept | std::input_iterator |
| |
|
template<typename _Iter > |
| concept | std::input_or_output_iterator |
| |
|
constexpr __cust_imove::_IMove | std::ranges::iter_move |
| |
|
constexpr __cust_iswap::_IterSwap | std::ranges::iter_swap |
| |
|
template<typename _Tp > |
| requires is_object_v< _Tp > struct | std::iterator_traits< _Tp * > |
| |
| template<typename _I1 , typename _I2 , typename _Out , typename _Rel = ranges::less, typename _P1 = identity, typename _P2 = identity> |
| concept | std::mergeable |
| |
|
template<typename _Iter , typename _Tp > |
| concept | std::output_iterator |
| |
| template<typename _Iter > |
| concept | std::permutable |
| |
|
template<typename _Iter > |
| concept | std::random_access_iterator |
| |
|
template<typename _Tp > |
| requires | std::requires |
| |
|
template<typename _Sent , typename _Iter > |
| concept | std::sentinel_for |
| |
|
template<typename _Sent , typename _Iter > |
| concept | std::sized_sentinel_for |
| |
| template<typename _Iter , typename _Rel = ranges::less, typename _Proj = identity> |
| concept | std::sortable |
| |
|
constexpr unreachable_sentinel_t | std::unreachable_sentinel |
| |
| template<typename _Iter > |
| concept | std::weakly_incrementable |
| |
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.