[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
TinyVector< T, SIZE > Class Template Reference |
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>
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 (lemon::Invalid const &) | |
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) | |
template<class U > | |
TinyVector (U const *data) | |
TinyVector (const_pointer data, ReverseCopyTag) | |
template<class U , class DATA , class DERIVED > | |
TinyVector (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r) | |
Public Member Functions inherited from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > > | |
bool | all () const |
bool | any () const |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
iterator | end () |
const_iterator | end () const |
void | init (Iterator i, Iterator end) |
void | init (value_type initial) |
NormType | magnitude () const |
VALUETYPE const & | maximum () const |
VALUETYPE const & | minimum () const |
DERIVED & | operator%= (TinyVectorBase< T1, SIZE, T, TinyVector< T, SIZE > > const &r) |
DERIVED & | operator*= (TinyVectorBase< T1, SIZE, T, TinyVector< T, SIZE > > const &r) |
DERIVED & | operator*= (double r) |
DERIVED & | operator+= (TinyVectorBase< T1, SIZE, T, TinyVector< T, SIZE > > const &r) |
DERIVED & | operator+= (double r) |
DERIVED & | operator-= (TinyVectorBase< T1, SIZE, T, TinyVector< T, SIZE > > const &r) |
DERIVED & | operator-= (double r) |
DERIVED & | operator/= (TinyVectorBase< T1, SIZE, T, TinyVector< T, SIZE > > 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 |
TinyVectorView< VALUETYPE, TO-FROM > | subarray () const |
Additional Inherited Members | |
Public Types inherited from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > > | |
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 |
Static Public Member Functions inherited from TinyVectorBase< T, SIZE, T[SIZE], TinyVector< T, SIZE > > | |
static TinyVector< VALUETYPE, SIZE > | linearSequence (VALUETYPE start=VALUETYPE(), VALUETYPE step=VALUETYPE(1)) |
Factory function for a linear sequence. More... | |
static TinyVector< VALUETYPE, SIZE > | unitVector (int k) |
Factory function for a unit vector for dimension k. | |
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
|
explicit |
Construction with constant value.
Initializes all vector elements with the given value.
TinyVector | ( | lemon::Invalid const & | ) |
Construction from lemon::Invalid.
Initializes all vector elements with -1.
|
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).
|
explicit |
Construct without initializing the vector elements.
TinyVector | ( | TinyVector< T, SIZE > const & | r | ) |
Copy constructor.
|
explicit |
Constructor from C array.
|
explicit |
Constructor by reverse copy from C array.
Usage:
TinyVector | ( | TinyVectorBase< U, SIZE, DATA, DERIVED > const & | r | ) |
Copy with type conversion.
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.
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|