vigra - TinyVectorBase< VALUETYPE, SIZE, DATA, DERIVED > Class Template Reference

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

| TinyVectorBase< VALUETYPE, SIZE, DATA, DERIVED > Class Template Reference |

Base class for fixed size vectors. More...

`#include <vigra/tinyvector.hxx>`

List of all members.

## Public Types
enum |
typedef value_type const * | const_iterator
typedef VALUETYPE const * | const_pointer
typedef VALUETYPE const & | const_reference
typedef std::ptrdiff_t | difference_type
typedef value_type * | iterator
typedef SquareRootTraits < SquaredNormType > ::SquareRootResult | NormType
typedef VALUETYPE * | pointer
typedef VALUETYPE & | reference
typedef double | scalar_multiplier
typedef unsigned int | size_type
typedef NormTraits< VALUETYPE > ::SquaredNormType | SquaredNormType
typedef VALUETYPE | value_type
## Public Member Functions
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
template<class Iterator >
void | init (Iterator i, Iterator end)
void | init (value_type initial)
NormType | magnitude () const
VALUETYPE const & | maximum () const
VALUETYPE const & | minimum () const
template<class T1 , class D1 , class D2 >
DERIVED & | operator*= (TinyVectorBase< T1, SIZE, D1, D2 > const &r)
DERIVED & | operator*= (double r)
template<class T1 , class D1 , class D2 >
DERIVED & | operator+= (TinyVectorBase< T1, SIZE, D1, D2 > const &r)
template<class T1 , class D1 , class D2 >
DERIVED & | operator-= (TinyVectorBase< T1, SIZE, D1, D2 > const &r)
template<class T1 , class D1 , class D2 >
DERIVED & | operator/= (TinyVectorBase< T1, SIZE, D1, D2 > const &r)
DERIVED & | operator/= (double r)
reference | operator[] (difference_type i)
const_reference | operator[] (difference_type i) const
size_type | size () const
SquaredNormType | squaredMagnitude () const

## Detailed Description

### template<class VALUETYPE, int SIZE, class DATA, class DERIVED>
class vigra::TinyVectorBase< VALUETYPE, SIZE, DATA, DERIVED >

Base class for fixed size vectors.

This class contains functionality shared by TinyVector and TinyVectorView, and enables these classes to be freely mixed within expressions. It is typically not used directly.

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

## Member Typedef Documentation

typedef VALUETYPE value_type

STL-compatible definition of valuetype

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef VALUETYPE& reference

reference (return of operator[]).

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef VALUETYPE const& const_reference

const reference (return of operator[] const).

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef VALUETYPE* pointer

pointer (return of operator->).

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef VALUETYPE const* const_pointer

const pointer (return of operator-> const).

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef value_type* iterator

STL-compatible definition of iterator

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef value_type const* const_iterator

STL-compatible definition of const iterator

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef unsigned int size_type

STL-compatible definition of size_type

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef std::ptrdiff_t difference_type

STL-compatible definition of difference_type

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef double scalar_multiplier

the scalar type for the outer product

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef NormTraits<VALUETYPE>::SquaredNormType SquaredNormType

the vector's squared norm type

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

typedef SquareRootTraits<SquaredNormType>::SquareRootResult NormType

the vector's norm type

Reimplemented in TinyVectorView< T, SIZE >, TinyVector< T, SIZE >, TinyVector< ValueType, 3 >, TinyVector< double, N >, TinyVector< double, 2 >, TinyVector< VALUETYPE, 3 >, TinyVector< float, 3 >, TinyVector< double, 7 >, TinyVector< double, BinCount >, TinyVector< VALUETYPE, DIMENSION >, and RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

## Member Enumeration Documentation

anonymous enum

the vector's size

## Member Function Documentation

void init | ( | Iterator | i,
|  | Iterator | end
| ) |  |

Initialize from another sequence (must have length SIZE!)

void init | ( | value_type | initial | ) |

Initialize with constant value

DERIVED& operator+= | ( | TinyVectorBase< T1, SIZE, D1, D2 > const & | r | ) |

Component-wise add-assignment

DERIVED& operator-= | ( | TinyVectorBase< T1, SIZE, D1, D2 > const & | r | ) |

Component-wise subtract-assignment

DERIVED& operator*= | ( | TinyVectorBase< T1, SIZE, D1, D2 > const & | r | ) |

Component-wise multiply-assignment

DERIVED& operator/= | ( | TinyVectorBase< T1, SIZE, D1, D2 > const & | r | ) |

Component-wise divide-assignment

DERIVED& operator*= | ( | double | r | ) |

Component-wise scalar multiply-assignment

DERIVED& operator/= | ( | double | r | ) |

Component-wise scalar divide-assignment

NormType magnitude | ( |  | ) | const

Calculate magnitude.

Reimplemented in RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

SquaredNormType squaredMagnitude | ( |  | ) | const

Calculate squared magnitude.

Reimplemented in RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >.

VALUETYPE const& minimum | ( |  | ) | const

Return the minimal element.

VALUETYPE const& maximum | ( |  | ) | const

Return the maximal element.

reference operator[] | ( | difference_type | i | ) |

Access component by index.

const_reference operator[] | ( | difference_type | i | ) | const

Get component by index.

iterator begin | ( |  | ) |

Get random access iterator to begin of vector.

iterator end | ( |  | ) |

Get random access iterator past-the-end of vector.

const_iterator begin | ( |  | ) | const

Get const random access iterator to begin of vector.

const_iterator end | ( |  | ) | const

Get const random access iterator past-the-end of vector.

size_type size | ( |  | ) | const

Size of TinyVector vector always equals the template parameter SIZE.

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

- vigra/tinyvector.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.9.0 (Tue Nov 6 2012)