STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
_Array_iterator< _Ty, _Size > Class Template Reference
Inheritance diagram for _Array_iterator< _Ty, _Size >:
_Array_const_iterator< _Ty, _Size > _Iterator012< random_access_iterator_tag, _Ty, ptrdiff_t, const _Ty *, const _Ty &, _Iterator_base > _Iterator_base0

Public Types

enum  { _EEN_SIZE = _Size }
 
typedef _Array_iterator< _Ty, _Size_Myiter
 
typedef _Array_const_iterator< _Ty, _Size_Mybase
 
typedef random_access_iterator_tag iterator_category
 
typedef _Ty value_type
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef _Ty * pointer
 
typedef _Ty & reference
 
typedef pointer _Unchecked_type
 
- Public Types inherited from _Array_const_iterator< _Ty, _Size >
enum  { _EEN_SIZE = _Size }
 
typedef _Array_const_iterator< _Ty, _Size_Myiter
 
typedef random_access_iterator_tag iterator_category
 
typedef _Ty value_type
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef const _Ty * pointer
 
typedef const _Ty & reference
 
typedef pointer _Unchecked_type
 
- Public Types inherited from _Iterator012< random_access_iterator_tag, _Ty, ptrdiff_t, const _Ty *, const _Ty &, _Iterator_base >
typedef random_access_iterator_tag iterator_category
 
typedef _Ty value_type
 
typedef ptrdiff_t difference_type
 
typedef const _Ty * pointer
 
typedef const _Ty & reference
 

Public Member Functions

 _Array_iterator ()
 
 _Array_iterator (pointer _Parg, size_t _Off=0)
 
_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 _Array_const_iterator< _Ty, _Size >
 _Array_const_iterator ()
 
 _Array_const_iterator (pointer _Parg, size_t _Off=0)
 
_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
 
- Public Member Functions inherited from _Iterator_base0
void _Adopt (const void *)
 
const _Container_base0_Getcont () const
 

Additional Inherited Members

- Public Attributes inherited from _Array_const_iterator< _Ty, _Size >
pointer _Ptr
 

Member Typedef Documentation

template<class _Ty, size_t _Size>
typedef _Array_const_iterator<_Ty, _Size> _Array_iterator< _Ty, _Size >::_Mybase
template<class _Ty, size_t _Size>
typedef _Array_iterator<_Ty, _Size> _Array_iterator< _Ty, _Size >::_Myiter
template<class _Ty, size_t _Size>
typedef pointer _Array_iterator< _Ty, _Size >::_Unchecked_type
template<class _Ty, size_t _Size>
typedef ptrdiff_t _Array_iterator< _Ty, _Size >::difference_type
template<class _Ty, size_t _Size>
typedef random_access_iterator_tag _Array_iterator< _Ty, _Size >::iterator_category
template<class _Ty, size_t _Size>
typedef _Ty* _Array_iterator< _Ty, _Size >::pointer
template<class _Ty, size_t _Size>
typedef _Ty& _Array_iterator< _Ty, _Size >::reference
template<class _Ty, size_t _Size>
typedef size_t _Array_iterator< _Ty, _Size >::size_type
template<class _Ty, size_t _Size>
typedef _Ty _Array_iterator< _Ty, _Size >::value_type

Member Enumeration Documentation

template<class _Ty, size_t _Size>
anonymous enum
Enumerator
_EEN_SIZE 
1936 {_EEN_SIZE = _Size}; // helper for expression evaluator
_CRT_BEGIN_C_HEADER _Check_return_ _Ret_maybenull_ _In_ size_t _Size
Definition: corecrt_malloc.h:58
Definition: xutility:1936

Constructor & Destructor Documentation

template<class _Ty, size_t _Size>
_Array_iterator< _Ty, _Size >::_Array_iterator ( )
inline
1929  { // construct with null pointer
1930  }
template<class _Ty, size_t _Size>
_Array_iterator< _Ty, _Size >::_Array_iterator ( pointer  _Parg,
size_t  _Off = 0 
)
inlineexplicit
1933  : _Mybase(_Parg, _Off)
1934  { // construct with pointer and offset
1935  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919

Member Function Documentation

template<class _Ty, size_t _Size>
_Myiter& _Array_iterator< _Ty, _Size >::_Rechecked ( _Unchecked_type  _Right)
inline
1940  { // reset from unchecked iterator
1941  ((_Mybase *)this)->_Rechecked(_Right);
1942  return (*this);
1943  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Ty, size_t _Size>
_Unchecked_type _Array_iterator< _Ty, _Size >::_Unchecked ( ) const
inline
1946  { // make an unchecked iterator
1947  return ((pointer)((_Mybase *)this)->_Unchecked());
1948  }
_Unchecked_type _Unchecked() const
Definition: xutility:1945
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
_Ty * pointer
Definition: xutility:1925
template<class _Ty, size_t _Size>
reference _Array_iterator< _Ty, _Size >::operator* ( ) const
inline
1951  { // return designated object
1952  return ((reference)**(_Mybase *)this);
1953  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
_Ty & reference
Definition: xutility:1926
template<class _Ty, size_t _Size>
_Myiter _Array_iterator< _Ty, _Size >::operator+ ( difference_type  _Off) const
inline
1993  { // return this + integer
1994  _Myiter _Tmp = *this;
1995  return (_Tmp += _Off);
1996  }
_Array_iterator< _Ty, _Size > _Myiter
Definition: xutility:1918
template<class _Ty, size_t _Size>
_Myiter& _Array_iterator< _Ty, _Size >::operator++ ( )
inline
1961  { // preincrement
1962  ++*(_Mybase *)this;
1963  return (*this);
1964  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
template<class _Ty, size_t _Size>
_Myiter _Array_iterator< _Ty, _Size >::operator++ ( int  )
inline
1967  { // postincrement
1968  _Myiter _Tmp = *this;
1969  ++*this;
1970  return (_Tmp);
1971  }
_Array_iterator< _Ty, _Size > _Myiter
Definition: xutility:1918
template<class _Ty, size_t _Size>
_Myiter& _Array_iterator< _Ty, _Size >::operator+= ( difference_type  _Off)
inline
1987  { // increment by integer
1988  *(_Mybase *)this += _Off;
1989  return (*this);
1990  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
template<class _Ty, size_t _Size>
_Myiter _Array_iterator< _Ty, _Size >::operator- ( difference_type  _Off) const
inline
2004  { // return this - integer
2005  _Myiter _Tmp = *this;
2006  return (_Tmp -= _Off);
2007  }
_Array_iterator< _Ty, _Size > _Myiter
Definition: xutility:1918
template<class _Ty, size_t _Size>
difference_type _Array_iterator< _Ty, _Size >::operator- ( const _Mybase _Right) const
inline
2010  { // return difference of iterators
2011  return (*(_Mybase *)this - _Right);
2012  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Ty, size_t _Size>
_Myiter& _Array_iterator< _Ty, _Size >::operator-- ( )
inline
1974  { // predecrement
1975  --*(_Mybase *)this;
1976  return (*this);
1977  }
_Array_const_iterator< _Ty, _Size > _Mybase
Definition: xutility:1919
template<class _Ty, size_t _Size>
_Myiter _Array_iterator< _Ty, _Size >::operator-- ( int  )
inline
1980  { // postdecrement
1981  _Myiter _Tmp = *this;
1982  --*this;
1983  return (_Tmp);
1984  }
_Array_iterator< _Ty, _Size > _Myiter
Definition: xutility:1918
template<class _Ty, size_t _Size>
_Myiter& _Array_iterator< _Ty, _Size >::operator-= ( difference_type  _Off)
inline
1999  { // decrement by integer
2000  return (*this += -_Off);
2001  }
template<class _Ty, size_t _Size>
pointer _Array_iterator< _Ty, _Size >::operator-> ( ) const
inline
1956  { // return pointer to class object
1957  return (pointer_traits<pointer>::pointer_to(**this));
1958  }
Definition: xmemory0:254
template<class _Ty, size_t _Size>
reference _Array_iterator< _Ty, _Size >::operator[] ( difference_type  _Off) const
inline
2015  { // subscript
2016  return (*(*this + _Off));
2017  }

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