[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

StandardValueAccessor< VALUETYPE > Class Template Reference

Encapsulate access to the values an iterator points to. More...

`#include <vigra/accessor.hxx>`

## Public Types

typedef VALUETYPE | value_type

## Public Member Functions

template<class ITERATOR >
VALUETYPE | operator() (ITERATOR const &i) const
template<class ITERATOR , class OFFSET >
VALUETYPE | operator() (ITERATOR const &i, OFFSET const &diff) const
template<class V , class ITERATOR >
void | set (V value, ITERATOR const &i) const
template<class V , class ITERATOR , class OFFSET >
void | set (V value, ITERATOR const &i, OFFSET const &diff) const

## Detailed Description

template<class VALUETYPE>
class vigra::StandardValueAccessor< VALUETYPE >

Encapsulate access to the values an iterator points to.

StandardValueAccessor is a trivial accessor that simply encapsulates the iterator's operator*() and operator[]() in its read and write functions. It passes its arguments by value. If the iterator returns its items by reference (such as vigra::ImageIterator), you can also use StandardAccessor. These accessors have different optimization properties – StandardAccessor is usually faster for compound pixel types, while StandardValueAccessor is faster for the built-in types.

When a floating point number is assigned by means of an accessor with integral value_type, the value is rounded and clipped as appropriate.

#include <vigra/accessor.hxx>
Namespace: vigra

## Member Typedef Documentation

## ◆ value_type

template<class VALUETYPE >

typedef VALUETYPE value_type

the value_type

## Member Function Documentation

## ◆ operator()() [1/2]

template<class VALUETYPE >
template<class ITERATOR >

VALUETYPE operator() | ( | ITERATOR const & | i | ) | const

Read the current data item. The type `ITERATOR::reference` is automatically converted to `VALUETYPE`. In case of a conversion floating point -> integral this includes rounding and clipping.

## ◆ operator()() [2/2]

template<class VALUETYPE >
template<class ITERATOR , class OFFSET >

VALUETYPE operator() | ( | ITERATOR const & | i,
|  | OFFSET const & | diff
| ) |  | const

Read the data item at an offset (can be 1D or 2D or higher order difference). The type `ITERATOR::index_reference` is automatically converted to `VALUETYPE`. In case of a conversion floating point -> integral this includes rounding and clipping.

## ◆ set() [1/2]

template<class VALUETYPE >
template<class V , class ITERATOR >

void set | ( | V | value,
|  | ITERATOR const & | i
| ) |  | const

Write the current data item. The type `V` of the passed in `value` is automatically converted to `VALUETYPE`. In case of a conversion floating point -> integral this includes rounding and clipping.

## ◆ set() [2/2]

template<class VALUETYPE >
template<class V , class ITERATOR , class OFFSET >

void set | ( | V | value,
|  | ITERATOR const & | i,
|  | OFFSET const & | diff
| ) |  | const

Write the data item at an offset (can be 1D or 2D or higher order difference).. The type `V` of the passed in `value` is automatically converted to `VALUETYPE`. In case of a conversion floating point -> integral this includes rounding and clipping.

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

- vigra/accessor.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.11.1