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

| TinyVector< T, SIZE > Class Template Reference Ranges and Points |

Class for fixed size vectors.This class contains an array of size SIZE of the specified VALUETYPE. The interface conforms to STL vector, except that there are no functions that change the size of a TinyVector. More...

`#include <vigra/tinyvector.hxx>`

Inheritance diagram for TinyVector< T, SIZE >:

List of all members.

## Public Types
typedef BaseType::const_iterator | const_iterator
typedef BaseType::const_pointer | const_pointer
typedef BaseType::const_reference | const_reference
typedef BaseType::difference_type | difference_type
typedef BaseType::iterator | iterator
typedef BaseType::NormType | NormType
typedef BaseType::pointer | pointer
typedef BaseType::reference | reference
typedef BaseType::scalar_multiplier | scalar_multiplier
typedef BaseType::size_type | size_type
typedef BaseType::SquaredNormType | SquaredNormType
typedef BaseType::value_type | value_type
## Public Member Functions
template<class U , int USIZE, class DATA , class DERIVED >
TinyVector & | copy (TinyVectorBase< U, USIZE, DATA, DERIVED > const &r)
TinyVector & | operator= (TinyVector const &r)
template<class U , class DATA , class DERIVED >
TinyVector & | operator= (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r)
TinyVector & | operator= (Diff2D const &r)
TinyVector & | operator= (value_type const &v)
| TinyVector (value_type const &initial)
| TinyVector (Diff2D const &initial)
| TinyVector (value_type const &i1, value_type const &i2)
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3)
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4)
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4, value_type const &i5)
| TinyVector ()
| TinyVector (SkipInitializationTag)
| TinyVector (TinyVector const &r)
| TinyVector (const_pointer data)
| TinyVector (const_pointer data, ReverseCopyTag)
template<class U , class DATA , class DERIVED >
| TinyVector (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r)

## Detailed Description

### template<class T, int SIZE>
class vigra::TinyVector< T, SIZE >

Class for fixed size vectors.

This class contains an array of size SIZE of the specified VALUETYPE. The interface conforms to STL vector, except that there are no functions that change the size of a TinyVector.

Arithmetic operations on TinyVectors are defined as component-wise applications of these operations. Addition and subtraction of two TinyVectors (+=, -=, +, -, unary -), multiplication and division of an TinyVector with a double, and NumericTraits/PromoteTraits are defined, so that TinyVector fulfills the requirements of Linear Algebra.

VIGRA algorithms typically use vigra::VectorAccessor to access TinyVectors as a whole, or specific components of them.

See also:

- vigra::TinyVectorBase
- vigra::TinyVectorView
- Numeric and Promote Traits of TinyVector
- Functions for TinyVector

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

## Member Typedef Documentation

typedef BaseType::value_type value_type

STL-compatible definition of valuetype

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::reference reference

reference (return of operator[]).

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::const_reference const_reference

const reference (return of operator[] const).

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::pointer pointer

pointer (return of operator->).

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::const_pointer const_pointer

const pointer (return of operator-> const).

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::iterator iterator

STL-compatible definition of iterator

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::const_iterator const_iterator

STL-compatible definition of const iterator

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::size_type size_type

STL-compatible definition of size_type

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::difference_type difference_type

STL-compatible definition of difference_type

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::scalar_multiplier scalar_multiplier

the scalar type for the outer product

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::SquaredNormType SquaredNormType

the vector's squared norm type

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

typedef BaseType::NormType NormType

the vector's norm type

Reimplemented from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > >.

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

## Constructor & Destructor Documentation

TinyVector | ( | value_type const & | initial | ) | `[explicit]`

Construction with constant value.

Initializes all vector elements with the given value.

TinyVector | ( | Diff2D const & | initial | ) | `[explicit]`

Construction with Diff2D.

Use only when `SIZE == 2`.

TinyVector | ( | value_type const & | i1,
|  | value_type const & | i2
| ) |  |

Construction with explicit values. Call only if SIZE == 2

TinyVector | ( | value_type const & | i1,
|  | value_type const & | i2,
|  | value_type const & | i3
| ) |  |

Construction with explicit values. Call only if SIZE == 3

TinyVector | ( | value_type const & | i1,
|  | value_type const & | i2,
|  | value_type const & | i3,
|  | value_type const & | i4
| ) |  |

Construction with explicit values. Call only if SIZE == 4

TinyVector | ( | value_type const & | i1,
|  | value_type const & | i2,
|  | value_type const & | i3,
|  | value_type const & | i4,
|  | value_type const & | i5
| ) |  |

Construction with explicit values. Call only if SIZE == 5

TinyVector | ( |  | ) |

Default constructor (initializes all elements with zero).

TinyVector | ( | SkipInitializationTag |  | ) | `[explicit]`

Construct without initializing the vector elements.

TinyVector | ( | TinyVector< T, SIZE > const & | r | ) |

Copy constructor.

TinyVector | ( | const_pointer | data | ) | `[explicit]`

Constructor from C array.

TinyVector | ( | const_pointer | data,
|  | ReverseCopyTag |
| ) |  | `[explicit]`

Constructor by reverse copy from C array.

Usage:

                TinyVector<int, 3> v(1,2,3);
                TinyVector<int, 3> reverse(v.begin(), TinyVector<int, 3>::ReverseCopy);

TinyVector | ( | TinyVectorBase< U, SIZE, DATA, DERIVED > const & | r | ) |

Copy with type conversion.

## Member Function Documentation

TinyVector& operator= | ( | TinyVector< T, SIZE > const & | r | ) |

Copy assignment.

TinyVector& operator= | ( | TinyVectorBase< U, SIZE, DATA, DERIVED > const & | r | ) |

Copy assignment with type conversion.

TinyVector& operator= | ( | Diff2D const & | r | ) |

Assignment from Diff2D.

Use only when `SIZE == 2`.

TinyVector& operator= | ( | value_type const & | v | ) |

Assignment from scalar. Will set all entries to the given value.

TinyVector& copy | ( | TinyVectorBase< U, USIZE, DATA, DERIVED > const & | r | ) |

Copy from a TinyVector with a different number of elements.

Only the first `min(SIZE, USIZE)` elements are copied.

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)