iterator_category
using __STD::iterator_category;
typedef typename iterator_traits<_InputIter>::iterator_category _Category;
typedef typename iterator_traits<_BidirectionalIter1>::iterator_category
typedef typename _Iterator::iterator_category iterator_category;
inline typename iterator_traits<_Iter>::iterator_category
typedef typename iterator_traits<_Iter>::iterator_category _Category;
inline typename iterator_traits<_Iter>::iterator_category
#define __ITERATOR_CATEGORY(__i) iterator_category(__i)
__distance(__first, __last, __n, iterator_category(__first));
typedef typename iterator_traits<_InputIterator>::iterator_category
__advance(__i, __n, iterator_category(__i));
typedef typename iterator_traits<_Iterator>::iterator_category