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

details TinyVectorBase VIGRA

Base class for fixed size vectors. More...

#include <vigra/tinyvector.hxx>

Inheritance diagram for TinyVectorBase:

TinyVector< VALUETYPE, 3 > TinyVector TinyVectorView RGBValue

List of all members.

Public Types

enum  
typedef value_type const * const_iterator
typedef VALUETYPE const * const_pointer
typedef VALUETYPE const & const_reference
typedef int difference_type
typedef value_typeiterator
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

const_iterator begin () const
iterator begin ()
const_iterator end () const
iterator end ()
void init (value_type initial)
template<class Iterator>
void init (Iterator i, Iterator end)
NormType magnitude () const
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)
template<class T1, class D1, class D2>
DERIVED & operator/= (TinyVectorBase< T1, SIZE, D1, D2 > const &r)
const_reference operator[] (difference_type i) const
reference operator[] (difference_type i)
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 value_type const* const_iterator

STL-compatible definition of const iterator

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

typedef VALUETYPE const* const_pointer

const pointer (return of operator-> const).

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

typedef VALUETYPE const& const_reference

const reference (return of operator[] const).

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

typedef int difference_type

STL-compatible definition of difference_type

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

typedef value_type* iterator

STL-compatible definition of iterator

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

typedef SquareRootTraits<SquaredNormType>::SquareRootResult NormType

typedef VALUETYPE* pointer

typedef VALUETYPE& reference

typedef double scalar_multiplier

the scalar type for the outer product

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

typedef unsigned int size_type

STL-compatible definition of size_type

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

typedef NormTraits<VALUETYPE>::SquaredNormType SquaredNormType

typedef VALUETYPE value_type

STL-compatible definition of valuetype

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


Member Enumeration Documentation

anonymous enum

the vector's size


Member Function Documentation

const_iterator begin (  )  const

Get const random access iterator to begin of vector.

iterator begin (  ) 

Get random access iterator to begin of vector.

const_iterator end (  )  const

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

iterator end (  ) 

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

void init ( value_type  initial  ) 

Initialize with constant value

template<class Iterator>
void init ( Iterator  i,
Iterator  end 
)

Initialize from another sequence (must have length SIZE!)

NormType magnitude (  )  const

Calculate magnitude.

Reimplemented in RGBValue.

DERIVED& operator*= ( double  r  ) 

Component-wise scalar multiply-assignment

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

Component-wise multiply-assignment

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

Component-wise add-assignment

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

Component-wise subtract-assignment

DERIVED& operator/= ( double  r  ) 

Component-wise scalar divide-assignment

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

Component-wise divide-assignment

const_reference operator[] ( difference_type  i  )  const

Get component by index.

reference operator[] ( difference_type  i  ) 

Access component by index.

size_type size (  )  const

Size of TinyVector vector always equals the template parameter SIZE.

SquaredNormType squaredMagnitude (  )  const

Calculate squared magnitude.

Reimplemented in RGBValue.


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 (20 Apr 2010)