1 #ifndef CLASSIC_SliceIterator_HH 
    2 #define CLASSIC_SliceIterator_HH 
  179 inline std::random_access_iterator_tag
 
  181     return std::random_access_iterator_tag();
 
  185 inline std::random_access_iterator_tag
 
  187     return std::random_access_iterator_tag();
 
  206     cursor(array), stride(n)
 
  211     cursor(rhs.cursor), stride(rhs.stride)
 
  224     return cursor == rhs.
cursor;
 
  229     return cursor != rhs.
cursor;
 
  260     cursor += n * stride;
 
  266     cursor -= n * stride;
 
  285     return (cursor - rhs.
cursor) / stride;
 
  295     return cursor[n*stride];
 
  304 (
const T *array, std::ptrdiff_t 
n):
 
  305     cursor(array), stride(n)
 
  323 inline bool ConstSliceIterator<T>::operator==
 
  325     return cursor == rhs.
cursor;
 
  329 inline bool ConstSliceIterator<T>::operator!=
 
  331     return cursor != rhs.
cursor;
 
  363     cursor += n * stride;
 
  370     cursor -= n * stride;
 
  374 template<
class T> 
inline 
  380 template<
class T> 
inline 
  389     return (cursor - rhs.
cursor) / stride;
 
  399     return cursor[n*stride];
 
  402 #endif // CLASSIC_SliceIterator_HH 
T * pointer
The pointer type. 
T & operator*() const 
Dereference. 
Iterator for array slice. 
const T * pointer
The pointer type. 
ConstSliceIterator< T > operator+(std::ptrdiff_t) const 
Add multiple stride. 
bool operator==(const ConstSliceIterator< T > &rhs) const 
SliceIterator< T > & operator=(const SliceIterator< T > &)
const T & reference
The reference type. 
const T & operator[](int) const 
Delegate. 
bool operator!=(const ConstSliceIterator< T > &rhs) const 
SliceIterator< T > operator-(std::ptrdiff_t)
Subtract multiple stride. 
ConstSliceIterator< T > operator-(std::ptrdiff_t) const 
Subtract multiple stride. 
std::random_access_iterator_tag iterator_category(const SliceIterator< T > &)
SliceIterator< T > & operator-=(std::ptrdiff_t)
Decrement by multiple stride. 
Iterator for array slice. 
std::ptrdiff_t difference_type
The pointer difference type. 
ConstSliceIterator< T > & operator-=(std::ptrdiff_t)
Subtract multiple stride and assign. 
SliceIterator< T > & operator+=(std::ptrdiff_t)
Increment by multiple stride. 
T & reference
The reference type. 
bool operator!=(const SliceIterator< T > &rhs) const 
ConstSliceIterator< T > & operator=(const ConstSliceIterator< T > &)
std::random_access_iterator_tag iterator_category
The iterator tag, taken from the standard template library. 
const T & operator*() const 
Dereference. 
ConstSliceIterator< T > & operator--()
Decrement (iterate backward). 
std::random_access_iterator_tag iterator_category
The iterator tag, taken from the standard template library. 
T * value_type(const SliceIterator< T > &)
T value_type
The value type. 
SliceIterator< T > & operator++()
Increment (iterate forward). 
const T value_type
The value type. 
ConstSliceIterator< T > & operator+=(std::ptrdiff_t)
Add multiple stride and assign. 
SliceIterator< T > operator+(std::ptrdiff_t)
Add multiple stride. 
ConstSliceIterator(const T *array, std::ptrdiff_t stride)
Constructor. 
bool operator==(const SliceIterator< T > &rhs) const 
std::ptrdiff_t difference_type
The pointer difference type. 
T & operator[](int) const 
Delegate. 
ConstSliceIterator< T > & operator++()
Increment (iterate forward). 
SliceIterator< T > & operator--()
Decrement (iterate backward). 
SliceIterator(T *array, std::ptrdiff_t stride)
Constructor.