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

Public Types | Public Member Functions
TinyVector< T, SIZE > Class Template Reference

Class for fixed size vectors. More...

#include <vigra/tinyvector.hxx>

Inheritance diagram for TinyVector< T, SIZE >:
TinyVectorBase< T, SIZE, T[SIZE], 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

TinyVectoroperator= (TinyVector const &r)
TinyVectoroperator= (Diff2D const &r)
template<class U , class DATA , class DERIVED >
TinyVectoroperator= (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r)
 TinyVector ()
template<class U , class DATA , class DERIVED >
 TinyVector (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r)
template<class U >
 TinyVector (TinyVector< U, SIZE > const &r)
 TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4, value_type const &i5)
 TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4)
 TinyVector (const_pointer data, ReverseCopyTag)
 TinyVector (const_pointer data)
 TinyVector (TinyVector const &r)
 TinyVector (value_type const &i1, value_type const &i2)
 TinyVector (Diff2D const &initial)
 TinyVector (value_type const &i1, value_type const &i2, value_type const &i3)
 TinyVector (value_type const &initial)

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:

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


Member Typedef Documentation

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 >.

reference (return of operator[]).

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

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

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 >.

pointer (return of operator->).

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

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

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 >.

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 >.

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 >.

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 >.

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 >.

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 >.

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 >.


Constructor & Destructor Documentation

TinyVector ( value_type const &  initial) [explicit]

Construction with constant value

TinyVector ( Diff2D const &  initial) [explicit]

Construction with Diff2D (only implemented for 2D TinyVector)

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

Default constructor (initializes all components with zero)

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 ( TinyVector< U, SIZE > const &  r)

Copy with type conversion.

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= ( Diff2D const &  r)

Assignment from Diff2D.

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

Copy assignment with type conversion.


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

© 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.7.0 (Thu Aug 25 2011)