Lines Matching refs:Iterator
28 template<class Iterator>
217 template <class Iterator>
219 : public iterator<typename iterator_traits<Iterator>::iterator_category, // until C++17
220 typename iterator_traits<Iterator>::value_type,
221 typename iterator_traits<Iterator>::difference_type,
222 typename iterator_traits<Iterator>::pointer,
223 typename iterator_traits<Iterator>::reference>
226 Iterator current;
228 using iterator_type = Iterator;
230 …using iterator_category = typename iterator_traits<Iterator>::iterator_category; // since C++17, u…
232 …using value_type = typename iterator_traits<Iterator>::value_type; // since C++17, until C+…
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
236 using pointer = typename iterator_traits<Iterator>::pointer;
237 using reference = typename iterator_traits<Iterator>::reference; // until C++20
238 using reference = iter_reference_t<Iterator>; // since C++20
241 constexpr explicit reverse_iterator(Iterator x);
244 constexpr Iterator base() const;
258 friend constexpr iter_rvalue_reference_t<Iterator>
260 template<indirectly_swappable<Iterator> Iterator2>
300 template <class Iterator>
301 constexpr reverse_iterator<Iterator>
302 operator+(typename reverse_iterator<Iterator>::difference_type n,
303 const reverse_iterator<Iterator>& x); // constexpr in C++17
305 template <class Iterator>
306 constexpr reverse_iterator<Iterator> make_reverse_iterator(Iterator i); // C++14, constexpr in C++17
386 template <class Iterator>
389 using iterator_type = Iterator;
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>::…
394 using pointer = Iterator;
395 using reference = iter_rvalue_reference_t<Iterator>; // Until C++20, value_type&&
398 constexpr explicit move_iterator(Iterator i);
405 constexpr const Iterator& base() const & noexcept; // From C++20
406 constexpr Iterator base() &&; // From C++20
420 template<sentinel_for<Iterator> S>
423 template<sized_sentinel_for<Iterator> S>
424 friend constexpr iter_difference_t<Iterator>
426 template<sized_sentinel_for<Iterator> S>
427 friend constexpr iter_difference_t<Iterator>
429 friend constexpr iter_rvalue_reference_t<Iterator>
432 template<indirectly_swappable<Iterator> Iterator2>
438 Iterator current; // exposition only
470 template <class Iterator>
471 constexpr move_iterator<Iterator> operator+( // constexpr in C++17
472 typename move_iterator<Iterator>::difference_type n,
473 const move_iterator<Iterator>& x);
475 template <class Iterator> // constexpr in C++17
476 constexpr move_iterator<Iterator> make_move_iterator(const Iterator& i);