ISIS Core Library 0.7.2 (api 3.0.0)
Public Types | Public Member Functions | Protected Member Functions

isis::util::FixedVector< TYPE, SIZE, CONTAINER > Class Template Reference

#include <vector.hpp>

Inheritance diagram for isis::util::FixedVector< TYPE, SIZE, CONTAINER >:
CONTAINER

Public Types

typedef CONTAINER::const_iterator const_iterator
typedef CONTAINER container_type
typedef CONTAINER::iterator iterator
typedef FixedVector< TYPE,
SIZE, CONTAINER
this_class
typedef TYPE value_type

Public Member Functions

iterator begin ()
const_iterator begin () const
template<class InputIterator >
void copyFrom (InputIterator iter_start, InputIterator iter_end)
 copy the elements to somthing designed after the output iterator model
template<class OutputIterator >
void copyTo (OutputIterator out) const
 copy the elements to somthing designed after the output iterator model
TYPE dot (const this_class &vect) const
 Get the inner product.
const_iterator end () const
iterator end ()
void fill (const TYPE &val)
 Set all elements to a value.
 FixedVector (const TYPE src[SIZE])
 Create a FixedVector out of an array of same type and length.
template<typename TYPE2 , typename CONTAINER2 >
 FixedVector (const FixedVector< TYPE2, SIZE, CONTAINER2 > &src)
 FixedVector ()
 Default constructor.
bool fuzzyEqual (const this_class &other, unsigned short scale=10) const
 Fuzzy comparison for vectors.
size_t getBiggestVecElemAbs () const
boost::numeric::ublas::vector
< TYPE > 
getBoostVector () const
TYPE len () const
 Get the the length of the vector.
bool lexical_less (const this_class &src) const
bool lexical_less_reverse (const this_class &src) const
const this_class negate () const
const this_classnorm () throw ( std::invalid_argument )
 Norm the vector (make len()==1).
bool operator!= (const this_class &src) const
this_class operator* (const TYPE &src) const
this_class operator* (const this_class &src) const
this_class operator*= (const this_class &src)
this_class operator*= (const TYPE &src)
this_class operator+ (const TYPE &src) const
this_class operator+ (const this_class &src) const
this_class operator+= (const this_class &src)
this_class operator+= (const TYPE &src)
this_class operator- (const TYPE &src) const
this_class operator- (const this_class &src) const
this_class operator-= (const TYPE &src)
this_class operator-= (const this_class &src)
this_class operator/ (const this_class &src) const
this_class operator/ (const TYPE &src) const
this_class operator/= (const this_class &src)
this_class operator/= (const TYPE &src)
bool operator== (const this_class &src) const
const TYPE & operator[] (size_t idx) const
TYPE & operator[] (size_t idx)
TYPE product () const
 Compute the product of all elements.
TYPE sqlen () const
 Get the inner product with itself (aka squared length).
TYPE sum ()
 Compute the sum of all elements.
template<typename charT , typename traits >
void writeTo (std::basic_ostream< charT, traits > &out) const
 write the elements formated to basic_ostream

Protected Member Functions

template<typename OP >
this_class binaryOp (const this_class &src) const
 Generic operations.
template<typename OP >
this_class binaryOp (const TYPE &src) const
template<typename OP >
this_class unaryOp () const

Detailed Description

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
class isis::util::FixedVector< TYPE, SIZE, CONTAINER >

Definition at line 50 of file vector.hpp.


Member Typedef Documentation

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
typedef CONTAINER::const_iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::const_iterator

Definition at line 54 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
typedef CONTAINER isis::util::FixedVector< TYPE, SIZE, CONTAINER >::container_type

Definition at line 56 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
typedef CONTAINER::iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::iterator

Definition at line 53 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
typedef FixedVector<TYPE, SIZE, CONTAINER> isis::util::FixedVector< TYPE, SIZE, CONTAINER >::this_class

Definition at line 55 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
typedef TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::value_type

Constructor & Destructor Documentation

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
isis::util::FixedVector< TYPE, SIZE, CONTAINER >::FixedVector ( ) [inline]

Default constructor.

Initializes all elements with default value of TYPE.

Definition at line 88 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
isis::util::FixedVector< TYPE, SIZE, CONTAINER >::FixedVector ( const TYPE  src[SIZE]) [inline]

Create a FixedVector out of an array of same type and length.

Definition at line 93 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<typename TYPE2 , typename CONTAINER2 >
isis::util::FixedVector< TYPE, SIZE, CONTAINER >::FixedVector ( const FixedVector< TYPE2, SIZE, CONTAINER2 > &  src) [inline]

Definition at line 301 of file vector.hpp.


Member Function Documentation

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::begin ( ) [inline]

Definition at line 310 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
const_iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::begin ( ) const [inline]

Definition at line 312 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<typename OP >
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::binaryOp ( const this_class src) const [inline, protected]

Generic operations.

Definition at line 60 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<typename OP >
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::binaryOp ( const TYPE &  src) const [inline, protected]

Definition at line 65 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<class InputIterator >
void isis::util::FixedVector< TYPE, SIZE, CONTAINER >::copyFrom ( InputIterator  iter_start,
InputIterator  iter_end 
) [inline]

copy the elements to somthing designed after the output iterator model

Definition at line 296 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<class OutputIterator >
void isis::util::FixedVector< TYPE, SIZE, CONTAINER >::copyTo ( OutputIterator  out) const [inline]

copy the elements to somthing designed after the output iterator model

Definition at line 291 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::dot ( const this_class vect) const [inline]

Get the inner product.

Returns:
$ \overrightarrow{this} \cdot \overrightarrow{src} = \sum_{i=0}^{SIZE-1} {this_i * src_i} $

Definition at line 220 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
const_iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::end ( ) const [inline]

Definition at line 313 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
iterator isis::util::FixedVector< TYPE, SIZE, CONTAINER >::end ( ) [inline]

Definition at line 311 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
void isis::util::FixedVector< TYPE, SIZE, CONTAINER >::fill ( const TYPE &  val) [inline]

Set all elements to a value.

Definition at line 98 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
bool isis::util::FixedVector< TYPE, SIZE, CONTAINER >::fuzzyEqual ( const this_class other,
unsigned short  scale = 10 
) const [inline]

Fuzzy comparison for vectors.

Does util::fuzzyEqual for the associated elements of the two vectors.

Parameters:
otherthe "other" vector to compare to
scalescaling factor forwarded to util::fuzzyEqual
Returns:
true if util::fuzzyEqual for all elements

Definition at line 172 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
size_t isis::util::FixedVector< TYPE, SIZE, CONTAINER >::getBiggestVecElemAbs ( ) const [inline]

Definition at line 101 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
boost::numeric::ublas::vector<TYPE> isis::util::FixedVector< TYPE, SIZE, CONTAINER >::getBoostVector ( ) const [inline]

Definition at line 277 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::len ( ) const [inline]

Get the the length of the vector.

Returns:
$ \sqrt{\sum_{i=0}^{SIZE-1} this_i^2} $

Definition at line 230 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
bool isis::util::FixedVector< TYPE, SIZE, CONTAINER >::lexical_less ( const this_class src) const [inline]
Returns:
true if this is lexically less than the given vector (first entry has highest rank)

Definition at line 130 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
bool isis::util::FixedVector< TYPE, SIZE, CONTAINER >::lexical_less_reverse ( const this_class src) const [inline]
Returns:
true if this is lexically less than the given vector (first entry has lowest rank)

Definition at line 145 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
const this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::negate ( ) const [inline]
Returns:
a negated copy

Definition at line 212 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
const this_class& isis::util::FixedVector< TYPE, SIZE, CONTAINER >::norm ( ) throw ( std::invalid_argument ) [inline]

Norm the vector (make len()==1).

Applies scalar division with the result of len() to this.

Equivalent to:

\[ \overrightarrow{this} = \overrightarrow{this} * {1 \over {\sqrt{\sum_{i=0}^{SIZE-1} this_i^2}}} \]

If len() is equal to zero std::invalid_argument will be thrown, and this wont be changed.

Returns:
the changed *this

Definition at line 242 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
bool isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator!= ( const this_class src) const [inline]
Returns:
false if this is equal to src

Definition at line 162 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator* ( const TYPE &  src) const [inline]

Definition at line 195 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator* ( const this_class src) const [inline]

Definition at line 190 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator*= ( const this_class src) [inline]

Definition at line 203 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator*= ( const TYPE &  src) [inline]

Definition at line 208 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator+ ( const TYPE &  src) const [inline]

Definition at line 194 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator+ ( const this_class src) const [inline]

Definition at line 189 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator+= ( const this_class src) [inline]

Definition at line 202 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator+= ( const TYPE &  src) [inline]

Definition at line 207 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator- ( const TYPE &  src) const [inline]

Definition at line 193 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator- ( const this_class src) const [inline]

Definition at line 188 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator-= ( const this_class src) [inline]

Definition at line 201 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator-= ( const TYPE &  src) [inline]

Definition at line 206 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator/ ( const this_class src) const [inline]

Definition at line 191 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator/ ( const TYPE &  src) const [inline]

Definition at line 196 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator/= ( const TYPE &  src) [inline]

Definition at line 209 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator/= ( const this_class src) [inline]

Definition at line 204 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
bool isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator== ( const this_class src) const [inline]
Returns:
true if this is equal to src

Definition at line 160 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
const TYPE& isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator[] ( size_t  idx) const [inline]

Definition at line 117 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE& isis::util::FixedVector< TYPE, SIZE, CONTAINER >::operator[] ( size_t  idx) [inline]

Definition at line 121 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::product ( ) const [inline]

Compute the product of all elements.

Returns:

\[ \prod_{i=0}^{SIZE-1} this_i \]

Definition at line 255 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::sqlen ( ) const [inline]

Get the inner product with itself (aka squared length).

Returns:
$ \overrightarrow{this} \cdot \overrightarrow{this} = \sum_{i=0}^{SIZE-1} this_i^2 $

Definition at line 225 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
TYPE isis::util::FixedVector< TYPE, SIZE, CONTAINER >::sum ( ) [inline]

Compute the sum of all elements.

Returns:

\[ \sum_{i=0}^{SIZE-1} this_i \]

Definition at line 268 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<typename OP >
this_class isis::util::FixedVector< TYPE, SIZE, CONTAINER >::unaryOp ( ) const [inline, protected]

Definition at line 75 of file vector.hpp.

template<typename TYPE, size_t SIZE, typename CONTAINER = _internal::array<TYPE, SIZE>>
template<typename charT , typename traits >
void isis::util::FixedVector< TYPE, SIZE, CONTAINER >::writeTo ( std::basic_ostream< charT, traits > &  out) const [inline]

write the elements formated to basic_ostream

Definition at line 306 of file vector.hpp.


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