Bolt  1.3
C++ template library with support for OpenCL
Public Member Functions | Friends | List of all members
bolt::cl::device_vector< T >::reverse_iterator_base< Container > Class Template Reference

A reverse random access iterator in the classic sense. More...

#include <device_vector.h>

Inheritance diagram for bolt::cl::device_vector< T >::reverse_iterator_base< Container >:

Public Member Functions

 reverse_iterator_base (Container &lhs, size_type index)
 
template<typename OtherContainer >
 reverse_iterator_base (const reverse_iterator_base< OtherContainer > &lhs)
 
reverse_iterator_base
< Container > & 
operator= (const reverse_iterator_base< Container > &lhs)
 
reverse_iterator_base
< Container > & 
operator+= (const difference_type &n)
 
const reverse_iterator_base
< Container > 
operator+ (const difference_type &n) const
 
int getIndex () const
 
difference_type distance_to (const reverse_iterator_base< Container > &lhs) const
 

Friends

class boost::iterator_core_access
 
class device_vector< value_type >
 
template<typename >
class reverse_iterator_base
 

Detailed Description

template<typename T>
template<typename Container>
class bolt::cl::device_vector< T >::reverse_iterator_base< Container >

A reverse random access iterator in the classic sense.

Todo:
Implement base()
Bug:
operator[] with device_vector iterators result in a compile-time error when accessed for reading. Writing with operator[] appears to be OK. Workarounds: either use the operator[] on the device_vector container, or use iterator arithmetic instead, such as *(iter + 5) for reading from the iterator.
See Also
http://www.sgi.com/tech/stl/ReverseIterator.html
http://www.sgi.com/tech/stl/RandomAccessIterator.html

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