Lines Matching full:20
20 template<class> struct incrementable_traits; // since C++20
22 using iter_difference_t = see below; // since C++20
24 template<class> struct indirectly_readable_traits; // since C++20
26 using iter_value_t = see below; // since C++20
32 requires is_object_v<T> // since C++20
39 inline constexpr unspecified iter_move = unspecified; // since C++20, nodiscard as an extension
44 using iter_rvalue_reference_t = decltype(ranges::iter_move(declval<T&>())); // since C++20
49 concept indirectly_readable = see below; // since C++20
53 common_reference_t<iter_reference_t<T>, iter_value_t<T>&>; // since C++20
57 concept indirectly_writable = see below; // since C++20
61 concept weakly_incrementable = see below; // since C++20
65 concept incrementable = see below; // since C++20
69 concept input_or_output_iterator = see below; // since C++20
73 concept sentinel_for = see below; // since C++20
84 concept input_iterator = see below; // since C++20
88 concept output_iterator = see below; // since C++20
92 concept forward_iterator = see below; // since C++20
96 concept bidirectional_iterator = see below; // since C++20
100 concept random_access_iterator = see below; // since C++20
105 concept indirectly_unary_invocable = see below; // since C++20
108 concept indirectly_regular_unary_invocable = see below; // since C++20
111 concept indirect_unary_predicate = see below; // since C++20
114 concept indirect_binary_predicate = see below; // since C++20
117 concept indirect_equivalence_relation = see below; // since C++20
120 concept indirect_strict_weak_order = see below; // since C++20
123 using indirect_result_t = see below; // since C++20
127 struct projected; // since C++20
130 struct incrementable_traits<projected<I, Proj>>; // since C++20
134 concept indirectly_movable = see below; // since C++20
137 concept indirectly_movable_storable = see below; // since C++20
141 concept indirectly_copyable = see below; // since C++20
144 concept indirectly_copyable_storable = see below; // since C++20
148 concept indirectly_swappable = see below; // since C++20
153 indirect_binary_predicate<R, projected<I1, P1>, projected<I2, P2>>; // since C++20
157 concept permutable = see below; // since C++20
162 concept mergeable = see below; // since C++20
166 concept sortable = see below; // since C++20
170 class common_iterator; // since C++20
210 constexpr void advance(I& i, iter_difference_t<I> n); // since C++20
212 constexpr void advance(I& i, S bound); // since C++20
214 constexpr iter_difference_t<I> advance(I& i, iter_difference_t<I> n, S bound); // since C++20
229 using iterator_concept = see below; // since C++20
230 …rator_category = typename iterator_traits<Iterator>::iterator_category; // since C++17, until C++20
231 using iterator_category = see below; // since C++20
232 …ing value_type = typename iterator_traits<Iterator>::value_type; // since C++17, until C++20
233 using value_type = iter_value_t<Iterator>; // since C++20
234 using difference_type = typename iterator_traits<Iterator>::difference_type; // until C++20
235 using difference_type = iter_difference_t<Iterator>; // since C++20
237 using reference = typename iterator_traits<Iterator>::reference; // until C++20
238 using reference = iter_reference_t<Iterator>; // since C++20
246 constexpr pointer operator->() const; // until C++20
247 constexpr pointer operator->() const requires see below; // since C++20
322 typedef void difference_type; // until C++20
323 typedef ptrdiff_t difference_type; // since C++20
327 explicit back_insert_iterator(Container& x); // constexpr in C++20
328 …ack_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++20
329 back_insert_iterator& operator*(); // constexpr in C++20
330 back_insert_iterator& operator++(); // constexpr in C++20
331 back_insert_iterator operator++(int); // constexpr in C++20
334 …lass Container> back_insert_iterator<Container> back_inserter(Container& x); // constexpr in C++20
345 typedef void difference_type; // until C++20
346 typedef ptrdiff_t difference_type; // since C++20
350 explicit front_insert_iterator(Container& x); // constexpr in C++20
351 …ont_insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++20
352 front_insert_iterator& operator*(); // constexpr in C++20
353 front_insert_iterator& operator++(); // constexpr in C++20
354 front_insert_iterator operator++(int); // constexpr in C++20
357 …ss Container> front_insert_iterator<Container> front_inserter(Container& x); // constexpr in C++20
369 typedef void difference_type; // until C++20
370 typedef ptrdiff_t difference_type; // since C++20
374 insert_iterator(Container& x, typename Container::iterator i); // constexpr in C++20
375 insert_iterator& operator=(const typename Container::value_type& value); // constexpr in C++20
376 insert_iterator& operator*(); // constexpr in C++20
377 insert_iterator& operator++(); // constexpr in C++20
378 insert_iterator& operator++(int); // constexpr in C++20
382 insert_iterator<Container> inserter(Container& x, typename Container::iterator i); // until C++20
384 …insert_iterator<Container> inserter(Container& x, ranges::iterator_t<Container> i); // since C++20
390 using iterator_concept = see below; // From C++20
391 using iterator_category = see below; // not always present starting from C++20
392 …using value_type = iter_value_t<Iterator>; // Until C++20, iterator_traits<Iterator>::value…
393 …using difference_type = iter_difference_t<Iterator>; // Until C++20, iterator_traits<Iterator>::…
395 using reference = iter_rvalue_reference_t<Iterator>; // Until C++20, value_type&&
404 constexpr iterator_type base() const; // Until C++20
405 constexpr const Iterator& base() const & noexcept; // From C++20
406 constexpr Iterator base() &&; // From C++20
409 constexpr pointer operator->() const; // Deprecated in C++20
411 constexpr auto operator++(int); // Return type was move_iterator until C++20
418 constexpr reference operator[](difference_type n) const; // Return type unspecified until C++20
422 operator==(const move_iterator& x, const move_sentinel<S>& y); // Since C++20
425 operator-(const move_sentinel<S>& x, const move_iterator& y); // Since C++20
428 operator-(const move_iterator& x, const move_sentinel<S>& y); // Since C++20
431 noexcept(noexcept(ranges::iter_move(i.current))); // Since C++20
435 noexcept(noexcept(ranges::iter_swap(x.current, y.current))); // Since C++20
480 inline constexpr bool disable_sized_sentinel_for<move_iterator<Iterator1>, // since C++20
531 constexpr istream_iterator(default_sentinel_t); // since C++20
540 friend bool operator==(const istream_iterator& i, default_sentinel_t); // since C++20
548 const istream_iterator<T,charT,traits,Distance>& y); // until C++20
557 typedef void difference_type; // until C++20
558 typedef ptrdiff_t difference_type; // since C++20
595 constexpr istreambuf_iterator(default_sentinel_t) noexcept; // since C++20
606 friend bool operator==(const istreambuf_iterator& i, default_sentinel_t s); // since C++20
614 const istreambuf_iterator<charT,traits>& b); // until C++20
623 typedef void difference_type; // until C++20
624 typedef ptrdiff_t difference_type; // since C++20
667 -> common_type_t<ptrdiff_t, make_signed_t<decltype(c.size())>>; // C++20
668 template <class T, ptrdiff_t> constexpr ptrdiff_t ssize(const T (&array)[N]) noexcept; // C++20
711 #if _LIBCPP_STD_VER >= 20
745 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20