| public | 
Inheritance Graph
graph BT
	_VecN
	click _VecN "classGeometry_1_1__VecN"
Description
n-dimensional vector.
Author: Ralf Petring, Benjamin Eikel
Date: 2011-02-24
Classes
| class | Geometry::_VecN::Comparator | 
| struct | Geometry::_VecN::GetAbs | 
| struct | Geometry::_VecN::GetAvg | 
| struct | Geometry::_VecN::GetMax | 
| struct | Geometry::_VecN::GetMin | 
| struct | Geometry::_VecN::Sum | 
Serialization
Public Types
| typedef Type | value_t | 
| typedef FloatType | float_t | 
| typedef _VecN < value_t , float_t > | vecN_t | 
Public Static Attributes
| const uint32_t | MAXIMUM_NORM | 
| const uint32_t | MANHATTAN_NORM | 
| const uint32_t | EUCLIDEAN_NORM | 
Public Functions
| _VecN(const size_t dimensions, value_t value) | |
| _VecN(const size_t dimensions, const value_t *const values) | |
| template< typename _InputIterator > | |
| _VecN(_InputIterator _first, _InputIterator _end) | |
| ~_VecN() destructor | |
| _VecN(const _VecN & void) copy constructor | |
| _VecN( _VecN && void) move constructor | |
| _VecN & | operator=(const _VecN & void) assignment operator | 
| _VecN & | operator=( _VecN && void) move assignment operator | 
| value_t * | data() | 
| const value_t * | data() const | 
| std::size_t | size() const | 
| void | set(const _VecN & other) | 
| void | set(const value_t *const values) | 
| void | setAll(const value_t & value) | 
| value_t & | operator[](size_t x) | 
| const value_t & | operator[](size_t x) const | 
| vecN_t::const_iterator | begin() const | 
| vecN_t::iterator | begin() | 
| vecN_t::const_iterator | end() const | 
| vecN_t::iterator | end() | 
| _VecN & | operator=(const value_t & constant) | 
| _VecN & | operator+=(const _VecN & _other) | 
| _VecN & | operator+=(const value_t & constant) | 
| _VecN & | operator-=(const _VecN & _other) | 
| _VecN & | operator-=(const value_t & constant) | 
| _VecN & | operator*=(const _VecN & _other) | 
| _VecN & | operator*=(const float_t & constant) | 
| _VecN & | operator/=(const _VecN & _other) | 
| _VecN & | operator/=(const float_t & constant) | 
| const _VecN | operator*(const _VecN & _other) const | 
| const _VecN | operator*(const float_t & constant) const | 
| const _VecN | operator/(const _VecN & _other) const | 
| const _VecN | operator/(const float_t & constant) const | 
| const _VecN | operator+(const _VecN & _other) const | 
| const _VecN | operator+(const value_t & constant) const | 
| const _VecN | operator-(const _VecN & _other) const | 
| const _VecN | operator-(const value_t & constant) const | 
| const _VecN | operator-() const | 
| _VecN | getAbs() const | 
| _VecN & | abs() | 
| value_t | max() const | 
| value_t | min() const | 
| float_t | avg() const | 
| float_t | length(uint32_t norm) const | 
Public Static Functions
| _VecN | pairwiseMax(const _VecN & vecA, const _VecN & vecB) | 
| _VecN | pairwiseMin(const _VecN & vecA, const _VecN & vecB) | 
| _VecN | pairwiseAvg(const _VecN & vecA, const _VecN & vecB) | 
Documentation
typedef
 Geometry::_VecN::value_t
| public | 
| typedef Type value_t | 
Defined in Geometry/VecN.h:35
typedef
 Geometry::_VecN::float_t
| public | 
| typedef FloatType float_t | 
Defined in Geometry/VecN.h:36
typedef
 Geometry::_VecN::vecN_t
| public | 
| typedef _VecN < value_t , float_t > vecN_t | 
Defined in Geometry/VecN.h:37
variable
 Geometry::_VecN::MAXIMUM_NORM
| public | static | 
| const uint32_t MAXIMUM_NORM | 
constant for the MAXIMUM or INFINITY or L-INF norm
Defined in Geometry/VecN.h:473
variable
 Geometry::_VecN::MANHATTAN_NORM
| public | static | 
| const uint32_t MANHATTAN_NORM | 
constant for the MANHATTAN or L-1 norm
Defined in Geometry/VecN.h:475
variable
 Geometry::_VecN::EUCLIDEAN_NORM
| public | static | 
| const uint32_t EUCLIDEAN_NORM | 
constant for the EUCLIDEAN or L-2 norm
Defined in Geometry/VecN.h:477
function
 Geometry::_VecN::_VecN
| public | inline | 
| _VecN( | const size_t | dimensions, | 
| value_t | value | |
| ) | 
constructor
Parameters
- dimensions
- the dimension of the vector
- value
- all components of this vector will be initialized with his value
Returns
a new VecN
Note: the call VecNf(3,0); does not work, because 0 can be interpreted as nullptr pointer so the call gets ambiguous. in this case remove the second parameter (no change as 0 is the default value) or add an explicit cast to value_t.
Defined in Geometry/VecN.h:132
function
 Geometry::_VecN::_VecN
| public | inline | 
| _VecN( | const size_t | dimensions, | 
| const value_t *const | values | |
| ) | 
constructor
Parameters
- dimensions
- the dimension of the vector
- values
- an array of initial values
Returns
a new VecN
Note: causes a segmentation fault if the length of values is smaller than the dimension of this
Defined in Geometry/VecN.h:142
function
 Geometry::_VecN::_VecN
| public | inline | 
| template< typename _InputIterator > | ||
| _VecN( | _InputIterator | _first, | 
| _InputIterator | _end | |
| ) | 
constructor
Parameters
- first
- end
Returns
a new VecN containing the elements [first, end)
Defined in Geometry/VecN.h:152
function
 Geometry::_VecN::~_VecN
| public | 
| ~_VecN( | ) | 
destructor
Defined in Geometry/VecN.h:157
function
 Geometry::_VecN::_VecN
| public | 
| _VecN( | const _VecN & | void ) | 
copy constructor
Defined in Geometry/VecN.h:160
function
 Geometry::_VecN::_VecN
| public | 
| _VecN( | _VecN && | void ) | 
move constructor
Defined in Geometry/VecN.h:163
function
 Geometry::_VecN::operator=
| public | 
| _VecN & operator=( | const _VecN & | void ) | 
assignment operator
Defined in Geometry/VecN.h:166
function
 Geometry::_VecN::operator=
| public | 
| _VecN & operator=( | _VecN && | void ) | 
move assignment operator
Defined in Geometry/VecN.h:169
function
 Geometry::_VecN::data
| public | inline | 
| value_t * data( | ) | 
Returns
a pointer to the underlying data of this vector
Defined in Geometry/VecN.h:174
function
 Geometry::_VecN::data
| public | const | inline | 
| const value_t * data( | ) const | 
Returns
a pointer to the underlying data of this vector
Defined in Geometry/VecN.h:181
function
 Geometry::_VecN::size
| public | const | inline | 
| std::size_t size( | ) const | 
Returns
the number of components of this vector
Defined in Geometry/VecN.h:188
function
 Geometry::_VecN::set
| public | inline | 
| void set( | const _VecN & | other ) | 
copies the values from other to this VecN
Parameters
- other
Defined in Geometry/VecN.h:196
function
 Geometry::_VecN::set
| public | inline | 
| void set( | const value_t *const | values ) | 
Parameters
- values
- the values to be set for the components of this VecN
Note: causes a segmentation fault if the length of values is smaller than the dimension of this
Defined in Geometry/VecN.h:204
function
 Geometry::_VecN::setAll
| public | inline | 
| void setAll( | const value_t & | value ) | 
sets all components of this to value
Parameters
- value
Defined in Geometry/VecN.h:212
function
 Geometry::_VecN::operator[]
| public | inline | 
| value_t & operator[]( | size_t | x ) | 
read/write access to the x-th component of this
Exceptions
- std::out_of_range
- iff x outside [0 .. size-1]
Note: should not be used for iteration because of slow access, use data() instead
Defined in Geometry/VecN.h:221
function
 Geometry::_VecN::operator[]
| public | const | inline | 
| const value_t & operator[]( | size_t | x ) const | 
read-only access to the x-th component of this
Exceptions
- std::out_of_range
- iff x outside [0 .. size-1]
Note: should not be used for iteration because of slow access, use data() instead
Defined in Geometry/VecN.h:230
function
 Geometry::_VecN::begin
| public | const | inline | 
| vecN_t::const_iterator begin( | ) const | 
read-only access to underlying data
Defined in Geometry/VecN.h:237
function
 Geometry::_VecN::begin
| public | inline | 
| vecN_t::iterator begin( | ) | 
read/write access to underlying data
Defined in Geometry/VecN.h:244
function
 Geometry::_VecN::end
| public | const | inline | 
| vecN_t::const_iterator end( | ) const | 
read-only access to underlying data
Defined in Geometry/VecN.h:251
function
 Geometry::_VecN::end
| public | inline | 
| vecN_t::iterator end( | ) | 
read/write access to underlying data
Defined in Geometry/VecN.h:258
function
 Geometry::_VecN::operator=
| public | inline | 
| _VecN & operator=( | const value_t & | constant ) | 
vector = constant, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:266
function
 Geometry::_VecN::operator+=
| public | inline | 
| _VecN & operator+=( | const _VecN & | _other ) | 
vector += vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:275
function
 Geometry::_VecN::operator+=
| public | inline | 
| _VecN & operator+=( | const value_t & | constant ) | 
vector += constant, component wise
Defined in Geometry/VecN.h:284
function
 Geometry::_VecN::operator-=
| public | inline | 
| _VecN & operator-=( | const _VecN & | _other ) | 
vector -= vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:294
function
 Geometry::_VecN::operator-=
| public | inline | 
| _VecN & operator-=( | const value_t & | constant ) | 
vector -= constant, component wise
Defined in Geometry/VecN.h:303
function
 Geometry::_VecN::operator*=
| public | inline | 
| _VecN & operator*=( | const _VecN & | _other ) | 
vector *= vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:313
function
 Geometry::_VecN::operator*=
| public | inline | 
| _VecN & operator*=( | const float_t & | constant ) | 
vector *= constant, component wise
Defined in Geometry/VecN.h:322
function
 Geometry::_VecN::operator/=
| public | inline | 
| _VecN & operator/=( | const _VecN & | _other ) | 
vector /= vector, component wise
Defined in Geometry/VecN.h:331
function
 Geometry::_VecN::operator/=
| public | inline | 
| _VecN & operator/=( | const float_t & | constant ) | 
vector /= constant, component wise
Defined in Geometry/VecN.h:340
function
 Geometry::_VecN::operator*
| public | const | inline | 
| const _VecN operator*( | const _VecN & | _other ) const | 
vector * vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Note: this is not a dot product
Defined in Geometry/VecN.h:351
function
 Geometry::_VecN::operator*
| public | const | inline | 
| const _VecN operator*( | const float_t & | constant ) const | 
vector * constant, component wise
Defined in Geometry/VecN.h:360
function
 Geometry::_VecN::operator/
| public | const | inline | 
| const _VecN operator/( | const _VecN & | _other ) const | 
vector / vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:370
function
 Geometry::_VecN::operator/
| public | const | inline | 
| const _VecN operator/( | const float_t & | constant ) const | 
vector / constant, component wise
Defined in Geometry/VecN.h:379
function
 Geometry::_VecN::operator+
| public | const | inline | 
| const _VecN operator+( | const _VecN & | _other ) const | 
vector + vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:389
function
 Geometry::_VecN::operator+
| public | const | inline | 
| const _VecN operator+( | const value_t & | constant ) const | 
vector + constant, component wise
Defined in Geometry/VecN.h:398
function
 Geometry::_VecN::operator-
| public | const | inline | 
| const _VecN operator-( | const _VecN & | _other ) const | 
vector - vector, component wise
Exceptions
- std::range_error
- iff other.size != this.size
Defined in Geometry/VecN.h:408
function
 Geometry::_VecN::operator-
| public | const | inline | 
| const _VecN operator-( | const value_t & | constant ) const | 
vector - constant, component wise
Defined in Geometry/VecN.h:417
function
 Geometry::_VecN::operator-
| public | const | inline | 
| const _VecN operator-( | ) const | 
- vector, component wise
Defined in Geometry/VecN.h:426
function
 Geometry::_VecN::getAbs
| public | const | inline | 
| _VecN getAbs( | ) const | 
Returns
a vector containing componentwise the absulute values of this
Defined in Geometry/VecN.h:435
function
 Geometry::_VecN::abs
| public | inline | 
| _VecN & abs( | ) | 
modifies this by taking componentwise the absolute value
Returns
this
Defined in Geometry/VecN.h:443
function
 Geometry::_VecN::max
| public | const | inline | 
| value_t max( | ) const | 
Returns
the maximum over the components of this vector
Note: this is not the maximum norm
Defined in Geometry/VecN.h:452
function
 Geometry::_VecN::min
| public | const | inline | 
| value_t min( | ) const | 
Returns
the minimum over the components of this vector
Defined in Geometry/VecN.h:459
function
 Geometry::_VecN::avg
| public | const | inline | 
| float_t avg( | ) const | 
Returns
the average over the components of this vector
Defined in Geometry/VecN.h:466
function
 Geometry::_VecN::length
| public | const | inline | 
| float_t length( | uint32_t | norm ) const | 
Defined in Geometry/VecN.h:479
function
 Geometry::_VecN::pairwiseMax
| public | static | inline | 
| _VecN pairwiseMax( | const _VecN & | vecA, | 
| const _VecN & | vecB | |
| ) | 
Exceptions
- std::range_error
- iff vecA.size != vecB.size
Defined in Geometry/VecN.h:518
function
 Geometry::_VecN::pairwiseMin
| public | static | inline | 
| _VecN pairwiseMin( | const _VecN & | vecA, | 
| const _VecN & | vecB | |
| ) | 
Exceptions
- std::range_error
- iff vecA.size != vecB.size
Defined in Geometry/VecN.h:528
function
 Geometry::_VecN::pairwiseAvg
| public | static | inline | 
| _VecN pairwiseAvg( | const _VecN & | vecA, | 
| const _VecN & | vecB | |
| ) | 
Exceptions
- std::range_error
- iff vecA.size != vecB.size
Defined in Geometry/VecN.h:538