[ VIGRA Homepage |
Class Index |
Function Index |
File Index |
Main Page ]
|
type Class Template Reference
|
 |
Base class for vigra::StridedMultiIterator.
More...
#include "vigra/multi_iterator.hxx"
Inheritance diagram for type:
|
Public Types |
typedef StridedMultiIterator<
N-1, T, REFERENCE, POINTER > | base_type |
typedef T | value_type |
typedef REFERENCE | reference |
typedef const value_type & | const_reference |
typedef POINTER | pointer |
typedef const value_type * | const_pointer |
typedef ptrdiff_t | difference_type |
typedef TinyVector< difference_type,
N > | multi_difference_type |
typedef StridedMultiIterator<
level, T, REFERENCE, POINTER > | next_type |
typedef StridedMultiIterator<
1, T, REFERENCE, POINTER > | iterator |
typedef multi_dimensional_traverser_tag | iterator_category |
enum | |
Public Methods |
| type () |
| type (pointer ptr, const difference_type *stride, const difference_type *shape) |
void | operator++ () |
void | operator-- () |
type | operator++ (int) |
type | operator-- (int) |
type & | operator+= (difference_type n) |
type & | operator+= (multi_difference_type const &d) |
type & | operator-= (difference_type n) |
type & | operator-= (multi_difference_type const &d) |
difference_type | operator- (type const &d) const |
reference | operator[] (difference_type n) const |
reference | operator[] (multi_difference_type const &d) const |
next_type | begin () const |
next_type | end () const |
iterator | iteratorForDimension (unsigned int d) const |
template<unsigned int N>
template<class T, class REFERENCE, class POINTER>
class vigra::StridedMultiIteratorBase< N >::type< T, REFERENCE, POINTER >
Base class for vigra::StridedMultiIterator.
This class implements the multi-iterator for strided arrays by means of the enclosed template class type
. This design is necessary for compilers that do not support partial specialization (otherwise, MultiIterator could be specialized directly).
#include "vigra/multi_iterator.hxx"
Namespace: vigra
Member Typedef Documentation
typedef ptrdiff_t difference_type
|
|
typedef multi_dimensional_traverser_tag iterator_category
|
|
typedef REFERENCE reference
|
|
Member Enumeration Documentation
|
the iterator's level in the dimension hierarchy |
Constructor & Destructor Documentation
|
construct from pointer, strides (offset of a sample to the next) for every dimension, and the shape. |
Member Function Documentation
|
Return the (N-1)-dimensional multi-iterator that points to the first (N-1)-dimensional subarray of the N-dimensional array this iterator is referring to. The result is only valid if this iterator refers to location 0 in all dimensions below its current dimension N, otherwise it is undefined. Usage:
MultiIterator<2, int> outer = ...;
MultiIterator<2, int>::next_type inner = outer.begin();
for(; inner != outer.end(); ++inner)
{
}
|
|
Return the (N-1)-dimensional multi-iterator that points beyond the last (N-1)-dimensional subarray of the N-dimensional array this iterator is referring to. The result is only valid if this iterator refers to location 0 in all dimensions below its current dimension N, otherwise it is undefined. Usage: |
iterator iteratorForDimension |
( |
unsigned int |
d |
) |
const [inline] |
|
|
Get a 1-dimensional, STL-compatible iterator for the given dimension, pointing to the current element of this . Usage:
StridedMultiIterator<3, int> outer = ...;
StridedMultiIterator<3, int>::iterator i = outer.iteratorForDimension(1);
StridedMultiIterator<3, int>::iterator end = i + height;
for(; i != end; ++i)
{
}
|
type operator++ |
( |
int |
|
) |
[inline] |
|
|
postfix-increment the iterator in it's current dimension |
void operator++ |
( |
|
) |
[inline] |
|
|
prefix-increment the iterator in it's current dimension |
|
increment the iterator in all dimensions by the given offset. |
|
increment the iterator in it's current dimension by the given value. |
difference_type operator- |
( |
type< T, REFERENCE, POINTER > const & |
d |
) |
const [inline] |
|
|
difference of two iterators in the current dimension. The result of this operation is undefined if the iterator doesn't point to element 0 in all dimensions below its current dimension. |
type operator-- |
( |
int |
|
) |
[inline] |
|
|
postfix-decrement the iterator in it's current dimension |
void operator-- |
( |
|
) |
[inline] |
|
|
prefix-decrement the iterator in it's current dimension |
|
decrement the iterator in all dimensions by the given offset. |
|
decrement the iterator in it's current dimension by the given value. |
|
access the array element at the given offset. |
|
access the array element at the given offset in the iterator's current dimension. |
The documentation for this class was generated from the following file: