My Project
T2DVector< T > Class Template Reference

a 2D vector More...

#include <mia/2d/vector.hh>

Inheritance diagram for T2DVector< T >:
[legend]

Public Types

typedef T value_type
 typedef for generic access to the element type

Public Member Functions

void fill (T v)
 fill all the elements with the given value
T norm () const
T norm2 () const
bool operator!= (const T2DVector &a) const
 not equal operator
T2DVector & operator*= (const T2DVector &a)
 in place element wise multiplication of two 2D vectors
T2DVector & operator*= (double a)
 in place multiplication with a scalar
T2DVector & operator+= (const T2DVector &a)
 in place addition
T2DVector operator- () const
T2DVector & operator-= (const T2DVector &a)
 in place subtraction
T2DVector & operator/= (const T2DVector &a)
 in place element wise division of two 2D vectors
T2DVector & operator/= (double a)
 in place division by a scalar
bool operator== (const T2DVector &a) const
 Equal operator.
T & operator[] (int i)
const T & operator[] (int i) const
void print (std::ostream &os) const
 print the vector to a stream with special formatting
double product () const
void read (std::istream &is)
 read the properly formatted 2D vector from a stream
size_t size () const
 returns the size of this vector, always 2
 T2DVector ()
template<typename In>
 T2DVector (const T2DVector< In > &in)
 T2DVector (int dim)
 T2DVector (T _x, T _y)

Data Fields

T x
 first element
T y
 second element

Static Public Attributes

static const T2DVector< T > _0
 a static for the value <0,0>.
static const T2DVector< T > _1
 a static for the value <1,1>.

Detailed Description

template<class T>
class T2DVector< T >

a 2D vector

A 2D vector that provides the usual set of operations required to handle such objects.

Template Parameters
typeof the elements

Definition at line 46 of file 2d/vector.hh.

Member Typedef Documentation

◆ value_type

template<class T>
typedef T T2DVector< T >::value_type

typedef for generic access to the element type

Definition at line 51 of file 2d/vector.hh.

Constructor & Destructor Documentation

◆ T2DVector() [1/4]

template<class T>
T2DVector< T >::T2DVector ( )
inline

◆ T2DVector() [2/4]

template<class T>
T2DVector< T >::T2DVector ( int dim)
inlineexplicit

this constructor is required for some generic code It is explicit to avoid some problems with automatic assigment

Definition at line 70 of file 2d/vector.hh.

◆ T2DVector() [3/4]

template<class T>
T2DVector< T >::T2DVector ( T _x,
T _y )
inline

Contruct the vector with the according elements

Parameters
_x
_y

Definition at line 80 of file 2d/vector.hh.

◆ T2DVector() [4/4]

template<class T>
template<typename In>
T2DVector< T >::T2DVector ( const T2DVector< In > & in)
inline

Automatically convert a 2D vector from another element type

Definition at line 87 of file 2d/vector.hh.

Member Function Documentation

◆ fill()

template<class T>
void T2DVector< T >::fill ( T v)
inline

fill all the elements with the given value

Definition at line 218 of file 2d/vector.hh.

◆ norm()

template<class T>
T T2DVector< T >::norm ( ) const
inline
Returns
norm of the vector

Definition at line 103 of file 2d/vector.hh.

◆ norm2()

template<class T>
T T2DVector< T >::norm2 ( ) const
inline
Returns
square norm of the vector

Definition at line 97 of file 2d/vector.hh.

Referenced by T2DVector< int >::norm().

◆ operator!=()

template<class T>
bool T2DVector< T >::operator!= ( const T2DVector< T > & a) const
inline

not equal operator

Definition at line 230 of file 2d/vector.hh.

◆ operator*=() [1/2]

template<class T>
T2DVector & T2DVector< T >::operator*= ( const T2DVector< T > & a)
inline

in place element wise multiplication of two 2D vectors

Definition at line 141 of file 2d/vector.hh.

◆ operator*=() [2/2]

template<class T>
T2DVector & T2DVector< T >::operator*= ( double a)
inline

in place multiplication with a scalar

Definition at line 133 of file 2d/vector.hh.

◆ operator+=()

template<class T>
T2DVector & T2DVector< T >::operator+= ( const T2DVector< T > & a)
inline

in place addition

Definition at line 117 of file 2d/vector.hh.

◆ operator-()

template<class T>
T2DVector T2DVector< T >::operator- ( ) const
inline

Definition at line 170 of file 2d/vector.hh.

◆ operator-=()

template<class T>
T2DVector & T2DVector< T >::operator-= ( const T2DVector< T > & a)
inline

in place subtraction

Definition at line 125 of file 2d/vector.hh.

◆ operator/=() [1/2]

template<class T>
T2DVector & T2DVector< T >::operator/= ( const T2DVector< T > & a)
inline

in place element wise division of two 2D vectors

Definition at line 149 of file 2d/vector.hh.

◆ operator/=() [2/2]

template<class T>
T2DVector & T2DVector< T >::operator/= ( double a)
inline

in place division by a scalar

Definition at line 160 of file 2d/vector.hh.

◆ operator==()

template<class T>
bool T2DVector< T >::operator== ( const T2DVector< T > & a) const
inline

Equal operator.

Definition at line 224 of file 2d/vector.hh.

◆ operator[]() [1/2]

template<class T>
T & T2DVector< T >::operator[] ( int i)
inline

Array access operator for some generic code One should have a look how expensive this function is

Definition at line 184 of file 2d/vector.hh.

◆ operator[]() [2/2]

template<class T>
const T & T2DVector< T >::operator[] ( int i) const
inline

Array access operator for some generic code One should have a look how expensive this function is

Definition at line 202 of file 2d/vector.hh.

◆ print()

template<class T>
void T2DVector< T >::print ( std::ostream & os) const
inline

print the vector to a stream with special formatting

Definition at line 236 of file 2d/vector.hh.

Referenced by operator<<().

◆ product()

template<class T>
double T2DVector< T >::product ( ) const
inline
Returns
product of the elements of the vector

Definition at line 109 of file 2d/vector.hh.

◆ read()

template<class T>
void T2DVector< T >::read ( std::istream & is)
inline

read the properly formatted 2D vector from a stream

Definition at line 242 of file 2d/vector.hh.

Referenced by operator>>().

◆ size()

template<class T>
size_t T2DVector< T >::size ( ) const
inline

returns the size of this vector, always 2

Definition at line 176 of file 2d/vector.hh.

Field Documentation

◆ _0

template<class T>
const T2DVector<T> T2DVector< T >::_0
static

a static for the value <0,0>.

Definition at line 63 of file 2d/vector.hh.

◆ _1

template<class T>
const T2DVector<T> T2DVector< T >::_1
static

a static for the value <1,1>.

Definition at line 60 of file 2d/vector.hh.

◆ x

◆ y


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