120 class _IteratorTriple
123 typedef _IteratorCategory iterator_category;
124 typedef void value_type;
127 typedef _IteratorTriple* pointer;
128 typedef _IteratorTriple& reference;
131 _Iterator2 _M_second;
134 _IteratorTriple() { }
136 _IteratorTriple(
const _Iterator1& __first,
const _Iterator2& __second,
137 const _Iterator3& __third)
140 _M_second = __second;
155 const _IteratorTriple
157 {
return _IteratorTriple(_M_first++, _M_second++, _M_third++); }
170 const _IteratorTriple
172 {
return _IteratorTriple(_M_first--, _M_second--, _M_third--); }
175 operator _Iterator3()
const
179 operator=(
const _IteratorTriple& __other)
181 _M_first = __other._M_first;
182 _M_second = __other._M_second;
183 _M_third = __other._M_third;
188 operator+(difference_type __delta)
const
189 {
return _IteratorTriple(_M_first + __delta, _M_second + __delta,
190 _M_third + __delta); }
193 operator-(
const _IteratorTriple& __other)
const
194 {
return _M_first - __other._M_first; }