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

details TinyVectorBase Class Template Reference VIGRA

Base class for fixed size vectors. More...

#include "vigra/tinyvector.hxx"


Public Types

typedef VALUETYPE value_type
typedef VALUETYPE & reference
typedef VALUETYPE const & const_reference
typedef VALUETYPE * pointer
typedef VALUETYPE const * const_pointer
typedef value_typeiterator
typedef value_type const * const_iterator
typedef unsigned int size_type
typedef int difference_type
typedef double scalar_multiplier
typedef NormTraits< VALUETYPE
>::SquaredNormType 
SquaredNormType
typedef SquareRootTraits<
SquaredNormType >::SquareRootResult 
NormType
enum  

Public Methods

template<class Iterator> void init (Iterator i, Iterator end)
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)
DERIVED & operator/= (double r)
NormType magnitude () const
SquaredNormType squaredMagnitude () const
reference operator[] (difference_type i)
const_reference operator[] (difference_type i) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
size_type size () 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 value_type const* const_iterator

 

STL-compatible definition of const iterator

Reimplemented in RGBValue, TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef VALUETYPE const* const_pointer

 

const pointer (return of operator-> const).

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef VALUETYPE const& const_reference

 

const reference (return of operator[] const).

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef int difference_type

 

STL-compatible definition of difference_type

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef value_type* iterator

 

STL-compatible definition of iterator

Reimplemented in RGBValue, TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef SquareRootTraits<SquaredNormType>::SquareRootResult NormType

 

the vector's norm type

Reimplemented in RGBValue, TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef VALUETYPE* pointer

 

pointer (return of operator->).

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef VALUETYPE& reference

 

reference (return of operator[]).

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef double scalar_multiplier

 

the scalar type for the outer product

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef unsigned int size_type

 

STL-compatible definition of size_type

Reimplemented in TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef NormTraits<VALUETYPE>::SquaredNormType SquaredNormType

 

the vector's squared norm type

Reimplemented in RGBValue, TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


typedef VALUETYPE value_type

 

STL-compatible definition of valuetype

Reimplemented in RGBValue, TinyVector, TinyVectorView, and TinyVector< VALUETYPE, 3 >.


Member Enumeration Documentation


anonymous enum

 

the vector's size


Member Function Documentation


const_iterator begin   const [inline]

 

Get const random access iterator to begin of vector.


iterator begin   [inline]

 

Get random access iterator to begin of vector.


const_iterator end   const [inline]

 

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


iterator end   [inline]

 

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


void init Iterator    i,
Iterator    end
[inline]

 

Initialize from another sequence (must have length SIZE!)


NormType magnitude   const [inline]

 

Calculate magnitude.

Reimplemented in RGBValue.


DERIVED& operator *= double    r [inline]

 

Component-wise scalar multiply-assignment


DERIVED& operator *= TinyVectorBase< T1, SIZE, D1, D2 > const &    r [inline]

 

Component-wise multiply-assignment


DERIVED& operator+= TinyVectorBase< T1, SIZE, D1, D2 > const &    r [inline]

 

Component-wise add-assignment


DERIVED& operator-= TinyVectorBase< T1, SIZE, D1, D2 > const &    r [inline]

 

Component-wise subtract-assignment


DERIVED& operator/= double    r [inline]

 

Component-wise scalar divide-assignment


const_reference operator[] difference_type    i const [inline]

 

Get component by index.


reference operator[] difference_type    i [inline]

 

Access component by index.


size_type size   const [inline]

 

Size of TinyVector vector always equals the template parameter SIZE.


SquaredNormType squaredMagnitude   const [inline]

 

Calculate squared magnitude.

Reimplemented in RGBValue.


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

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.4.0 (21 Dec 2005)