Home | History | Annotate | Download | only in include

Lines Matching full:_iter

370 template <class _Iter, bool> struct __iterator_traits_impl {};
372 template <class _Iter>
373 struct __iterator_traits_impl<_Iter, true>
375 typedef typename _Iter::difference_type difference_type;
376 typedef typename _Iter::value_type value_type;
377 typedef typename _Iter::pointer pointer;
378 typedef typename _Iter::reference reference;
379 typedef typename _Iter::iterator_category iterator_category;
382 template <class _Iter, bool> struct __iterator_traits {};
384 template <class _Iter>
385 struct __iterator_traits<_Iter, true>
388 _Iter,
389 is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value ||
390 is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value
399 template <class _Iter>
401 : __iterator_traits<_Iter, __has_iterator_category<_Iter>::value> {};
531 template <class _Iter>
533 : public iterator<typename iterator_traits<_Iter>::iterator_category,
534 typename iterator_traits<_Iter>::value_type,
535 typename iterator_traits<_Iter>::difference_type,
536 typename iterator_traits<_Iter>::pointer,
537 typename iterator_traits<_Iter>::reference>
540 mutable _Iter __t; // no longer used as of LWG #2360, not removed due to ABI break
542 _Iter current;
544 typedef _Iter iterator_type;
545 typedef typename iterator_traits<_Iter>::difference_type difference_type;
546 typedef typename iterator_traits<_Iter>::reference reference;
547 typedef typename iterator_traits<_Iter>::pointer pointer;
550 _LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
553 _LIBCPP_INLINE_VISIBILITY _Iter base() const {return current;}
554 _LIBCPP_INLINE_VISIBILITY reference operator*() const {_Iter __tmp = current; return *--__tmp;}
630 template <class _Iter>
632 reverse_iterator<_Iter>
633 operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x)
635 return reverse_iterator<_Iter>(__x.base() - __n);
639 template <class _Iter>
641 reverse_iterator<_Iter> make_reverse_iterator(_Iter __i)
643 return reverse_iterator<_Iter>(__i);
929 template <class _Iter>
933 _Iter __i;
935 typedef _Iter iterator_type;
947 _LIBCPP_INLINE_VISIBILITY explicit move_iterator(_Iter __x) : __i(__x) {}
950 _LIBCPP_INLINE_VISIBILITY _Iter base() const {return __i;}
1034 template <class _Iter>
1036 move_iterator<_Iter>
1037 operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x)
1039 return move_iterator<_Iter>(__x.base() + __n);
1042 template <class _Iter>
1044 move_iterator<_Iter>
1045 make_move_iterator(_Iter __i)
1047 return move_iterator<_Iter>(__i);
1052 template <class _Iter> class __wrap_iter;
1089 template <class _Iter>
1091 __wrap_iter<_Iter>
1092 operator+(typename __wrap_iter<_Iter>::difference_type, __wrap_iter<_Iter>) _NOEXCEPT;
1108 template <class _Iter>
1112 typedef _Iter iterator_type;
1390 template <class _Iter>
1392 __wrap_iter<_Iter>
1393 operator+(typename __wrap_iter<_Iter>::difference_type __n,
1394 __wrap_iter<_Iter> __x) _NOEXCEPT