STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
_Vector_iterator< _Myvec > Class Template Reference
Inheritance diagram for _Vector_iterator< _Myvec >:
_Vector_const_iterator< _Myvec > _Iterator012< random_access_iterator_tag, _Myvec::value_type, _Myvec::difference_type, _Myvec::const_pointer, _Myvec::const_reference, _Iterator_base > _Iterator_base0

Public Types

typedef _Vector_iterator< _Myvec > _Myiter
 
typedef _Vector_const_iterator< _Myvec > _Mybase
 
typedef random_access_iterator_tag iterator_category
 
typedef _Myvec::value_type value_type
 
typedef _Myvec::difference_type difference_type
 
typedef _Myvec::pointer pointer
 
typedef _Myvec::reference reference
 
typedef pointer _Unchecked_type
 
- Public Types inherited from _Vector_const_iterator< _Myvec >
typedef _Vector_const_iterator< _Myvec > _Myiter
 
typedef random_access_iterator_tag iterator_category
 
typedef _Myvec::value_type value_type
 
typedef _Myvec::difference_type difference_type
 
typedef _Myvec::const_pointer pointer
 
typedef _Myvec::const_reference reference
 
typedef _Myvec::pointer _Tptr
 
typedef pointer _Unchecked_type
 
- Public Types inherited from _Iterator012< random_access_iterator_tag, _Myvec::value_type, _Myvec::difference_type, _Myvec::const_pointer, _Myvec::const_reference, _Iterator_base >
typedef random_access_iterator_tag iterator_category
 
typedef _Myvec::value_type value_type
 
typedef _Myvec::difference_type difference_type
 
typedef _Myvec::const_pointer pointer
 
typedef _Myvec::const_reference reference
 

Public Member Functions

 _Vector_iterator ()
 
 _Vector_iterator (pointer _Parg, const _Container_base *_Pvector)
 
_Myiter_Rechecked (_Unchecked_type _Right)
 
_Unchecked_type _Unchecked () const
 
reference operator* () const
 
pointer operator-> () const
 
_Myiteroperator++ ()
 
_Myiter operator++ (int)
 
_Myiteroperator-- ()
 
_Myiter operator-- (int)
 
_Myiteroperator+= (difference_type _Off)
 
_Myiter operator+ (difference_type _Off) const
 
_Myiteroperator-= (difference_type _Off)
 
_Myiter operator- (difference_type _Off) const
 
difference_type operator- (const _Mybase &_Right) const
 
reference operator[] (difference_type _Off) const
 
- Public Member Functions inherited from _Vector_const_iterator< _Myvec >
 _Vector_const_iterator ()
 
 _Vector_const_iterator (_Tptr _Parg, const _Container_base *_Pvector)
 
_Myiter_Rechecked (_Unchecked_type _Right)
 
_Unchecked_type _Unchecked () const
 
reference operator* () const
 
pointer operator-> () const
 
_Myiteroperator++ ()
 
_Myiter operator++ (int)
 
_Myiteroperator-- ()
 
_Myiter operator-- (int)
 
_Myiteroperator+= (difference_type _Off)
 
_Myiter operator+ (difference_type _Off) const
 
_Myiteroperator-= (difference_type _Off)
 
_Myiter operator- (difference_type _Off) const
 
difference_type operator- (const _Myiter &_Right) const
 
reference operator[] (difference_type _Off) const
 
bool operator== (const _Myiter &_Right) const
 
bool operator!= (const _Myiter &_Right) const
 
bool operator< (const _Myiter &_Right) const
 
bool operator> (const _Myiter &_Right) const
 
bool operator<= (const _Myiter &_Right) const
 
bool operator>= (const _Myiter &_Right) const
 
void _Compat (const _Myiter &) const
 
- Public Member Functions inherited from _Iterator_base0
void _Adopt (const void *)
 
const _Container_base0_Getcont () const
 

Additional Inherited Members

- Public Attributes inherited from _Vector_const_iterator< _Myvec >
_Tptr _Ptr
 

Member Typedef Documentation

template<class _Myvec>
typedef _Vector_const_iterator<_Myvec> _Vector_iterator< _Myvec >::_Mybase
template<class _Myvec>
typedef _Vector_iterator<_Myvec> _Vector_iterator< _Myvec >::_Myiter
template<class _Myvec>
typedef pointer _Vector_iterator< _Myvec >::_Unchecked_type
template<class _Myvec>
typedef _Myvec::difference_type _Vector_iterator< _Myvec >::difference_type
template<class _Myvec>
typedef random_access_iterator_tag _Vector_iterator< _Myvec >::iterator_category
template<class _Myvec>
typedef _Myvec::pointer _Vector_iterator< _Myvec >::pointer
template<class _Myvec>
typedef _Myvec::reference _Vector_iterator< _Myvec >::reference
template<class _Myvec>
typedef _Myvec::value_type _Vector_iterator< _Myvec >::value_type

Constructor & Destructor Documentation

template<class _Myvec>
_Vector_iterator< _Myvec >::_Vector_iterator ( )
inline
299  { // construct with null vector pointer
300  }
template<class _Myvec>
_Vector_iterator< _Myvec >::_Vector_iterator ( pointer  _Parg,
const _Container_base _Pvector 
)
inline
303  : _Mybase(_Parg, _Pvector)
304  { // construct with pointer _Parg
305  }
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290

Member Function Documentation

template<class _Myvec>
_Myiter& _Vector_iterator< _Myvec >::_Rechecked ( _Unchecked_type  _Right)
inline
310  { // reset from unchecked iterator
311  this->_Ptr = _Right;
312  return (*this);
313  }
_Tptr _Ptr
Definition: vector:256
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Myvec>
_Unchecked_type _Vector_iterator< _Myvec >::_Unchecked ( ) const
inline
316  { // make an unchecked iterator
317  return (this->_Ptr);
318  }
_Tptr _Ptr
Definition: vector:256
template<class _Myvec>
reference _Vector_iterator< _Myvec >::operator* ( ) const
inline
321  { // return designated object
322  return ((reference)**(_Mybase *)this);
323  }
_Myvec::reference reference
Definition: vector:296
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290
template<class _Myvec>
_Myiter _Vector_iterator< _Myvec >::operator+ ( difference_type  _Off) const
inline
363  { // return this + integer
364  _Myiter _Tmp = *this;
365  return (_Tmp += _Off);
366  }
_Vector_iterator< _Myvec > _Myiter
Definition: vector:289
template<class _Myvec>
_Myiter& _Vector_iterator< _Myvec >::operator++ ( )
inline
331  { // preincrement
332  ++*(_Mybase *)this;
333  return (*this);
334  }
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290
template<class _Myvec>
_Myiter _Vector_iterator< _Myvec >::operator++ ( int  )
inline
337  { // postincrement
338  _Myiter _Tmp = *this;
339  ++*this;
340  return (_Tmp);
341  }
_Vector_iterator< _Myvec > _Myiter
Definition: vector:289
template<class _Myvec>
_Myiter& _Vector_iterator< _Myvec >::operator+= ( difference_type  _Off)
inline
357  { // increment by integer
358  *(_Mybase *)this += _Off;
359  return (*this);
360  }
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290
template<class _Myvec>
_Myiter _Vector_iterator< _Myvec >::operator- ( difference_type  _Off) const
inline
374  { // return this - integer
375  _Myiter _Tmp = *this;
376  return (_Tmp -= _Off);
377  }
_Vector_iterator< _Myvec > _Myiter
Definition: vector:289
template<class _Myvec>
difference_type _Vector_iterator< _Myvec >::operator- ( const _Mybase _Right) const
inline
380  { // return difference of iterators
381  return (*(_Mybase *)this - _Right);
382  }
constexpr const _Ty &() _Right
Definition: algorithm:3723
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290
template<class _Myvec>
_Myiter& _Vector_iterator< _Myvec >::operator-- ( )
inline
344  { // predecrement
345  --*(_Mybase *)this;
346  return (*this);
347  }
_Vector_const_iterator< _Myvec > _Mybase
Definition: vector:290
template<class _Myvec>
_Myiter _Vector_iterator< _Myvec >::operator-- ( int  )
inline
350  { // postdecrement
351  _Myiter _Tmp = *this;
352  --*this;
353  return (_Tmp);
354  }
_Vector_iterator< _Myvec > _Myiter
Definition: vector:289
template<class _Myvec>
_Myiter& _Vector_iterator< _Myvec >::operator-= ( difference_type  _Off)
inline
369  { // decrement by integer
370  return (*this += -_Off);
371  }
template<class _Myvec>
pointer _Vector_iterator< _Myvec >::operator-> ( ) const
inline
326  { // return pointer to class object
327  return (pointer_traits<pointer>::pointer_to(**this));
328  }
Definition: xmemory0:254
template<class _Myvec>
reference _Vector_iterator< _Myvec >::operator[] ( difference_type  _Off) const
inline
385  { // subscript
386  return (*(*this + _Off));
387  }

The documentation for this class was generated from the following file: