[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | Data Accessors |  | 
| Modules | |
| Accessors for FFTWComplex | |
| Accessors for OpenCL types | |
| Accessors for RGBValue | |
| Classes | |
| class | BilinearInterpolatingAccessor< ACCESSOR, VALUETYPE > | 
| Bilinear interpolation at non-integer positions.  More... | |
| class | cl_charNAccessor_COMP | 
| class | FFTWRealAccessor< Real > | 
| class | MultiImageAccessor2< Iter1, Acc1, Iter2, Acc2 > | 
| Access two images simultaneously.  More... | |
| class | RGBAccessor< T > | 
| class | SequenceAccessor< SEQUENCE > | 
| Accessor for items that are STL compatible sequences.  More... | |
| class | StandardAccessor< VALUETYPE > | 
| Encapsulate access to the values an iterator points to.  More... | |
| class | StandardConstAccessor< VALUETYPE > | 
| Encapsulate read access to the values an iterator points to.  More... | |
| class | StandardConstValueAccessor< VALUETYPE > | 
| Encapsulate access to the values an iterator points to.  More... | |
| class | StandardValueAccessor< VALUETYPE > | 
| Encapsulate access to the values an iterator points to.  More... | |
| class | VectorAccessor< VECTOR > | 
| Accessor for items that are STL compatible vectors.  More... | |
| class | VectorComponentAccessor< VECTORTYPE > | 
| Accessor for one component of a vector.  More... | |
| class | VectorComponentValueAccessor< VECTORTYPE > | 
| Accessor for one component of a vector.  More... | |
| class | VectorElementAccessor< ACCESSOR > | 
| Accessor for one component of a vector.  More... | |
Basic templates to encapsulate access to the data of an iterator.
Data accessors are used to allow for flexible access to the data an iterator points to. When we access the data directly, we are bound to what operator*() returns, if this method exists at all. Encapsulating access in an accessor enables a better decoupling of data structures and algorithms. This paper contains a detailed description of the concept. Here is a brief list of the basic accessor requirements:
| Operation | Result | Semantics | 
|---|---|---|
| accessor(iter) | convertible to Accessor::value_type const & | read data at the current position of the iterator | 
| accessor(iter, index) | convertible to Accessor::value_type const & | read data at offset indexrelative to iterator's current position (random-access iterator only) | 
| accessor.set(value, iter) | void | write data valueat the current position of the iterator (mutable iterator only) | 
| accessor.set(value, iter, index) | void | write data valueat offsetindexrelative to iterator's current position (mutable random-access iterator only) | 
| Accessor::value_type | type of the data field the accessor refers to | |
| iteris an iteratorindexhas the iterator's index type (Iterator::difference_type)valueis convertible toAccessor::value_type const & | ||
The template AccessorTraits<T> can be used to find the default accessor associated with the type T, e.g.
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |