Lines Matching refs:_Iter

47 template <class _Iter>
59 template <class _Iter>
62 __is_primary_template<iterator_traits<_Iter> >::value,
63 _Iter,
64 iterator_traits<_Iter>
67 template <class _Iter>
68 using _ITER_TRAITS = typename __iter_traits_cache<_Iter>::type;
71 template <class _Iter>
72 using _Apply = typename _ITER_TRAITS<_Iter>::iterator_concept;
75 template <class _Iter>
76 using _Apply = typename _ITER_TRAITS<_Iter>::iterator_category;
79 template <class _Iter>
81 __is_primary_template<iterator_traits<_Iter> >::value,
86 template <class _Iter, class _Tester> struct __test_iter_concept
87 : _IsValidExpansion<_Tester::template _Apply, _Iter>,
92 template <class _Iter>
95 __test_iter_concept<_Iter, __iter_concept_concept_test>,
96 __test_iter_concept<_Iter, __iter_concept_category_test>,
97 __test_iter_concept<_Iter, __iter_concept_random_fallback>
101 template <class _Iter>
102 using _ITER_CONCEPT = typename __iter_concept_cache<_Iter>::type::template _Apply<_Iter>;
366 template <class _Iter, bool> struct __iterator_traits {};
368 template <class _Iter, bool> struct __iterator_traits_impl {};
370 template <class _Iter>
371 struct __iterator_traits_impl<_Iter, true>
373 typedef typename _Iter::difference_type difference_type;
374 typedef typename _Iter::value_type value_type;
375 typedef typename _Iter::pointer pointer;
376 typedef typename _Iter::reference reference;
377 typedef typename _Iter::iterator_category iterator_category;
380 template <class _Iter>
381 struct __iterator_traits<_Iter, true>
384 _Iter,
385 is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value ||
386 is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value
395 template <class _Iter>
397 : __iterator_traits<_Iter, __has_iterator_typedefs<_Iter>::value> {
470 template <class _Iter>
505 template <class _Iter>
506 using __iterator_category_type = typename iterator_traits<_Iter>::iterator_category;
508 template <class _Iter>
509 using __iterator_pointer_type = typename iterator_traits<_Iter>::pointer;
511 template <class _Iter>
512 using __iter_diff_t = typename iterator_traits<_Iter>::difference_type;