_BidirectionalIterator
template <class _BidirectionalIterator, class _Distance>
inline void __advance(_BidirectionalIterator& __i, _Distance __n,
template <class _BidirectionalIterator, class _Tp, class _Reference = _Tp&,
template <class _BidirectionalIterator, class _Tp, class _Reference,
_BidirectionalIterator current;
explicit reverse_bidirectional_iterator(_BidirectionalIterator __x)
_BidirectionalIterator base() const { return current; }
_BidirectionalIterator __tmp = current;
template <class _BidirectionalIterator, class _Tp, class _Reference,
iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator,
template <class _BidirectionalIterator, class _Tp, class _Reference,
value_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp,
template <class _BidirectionalIterator, class _Tp, class _Reference,
distance_type(const reverse_bidirectional_iterator<_BidirectionalIterator,