T2DVector< T > Class Template Reference
Basic data strctures and functions

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

  type | of 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

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

Referenced by T2DVector< int >::operator-(), T2DMatrix< float >::T2DMatrix(), and T2DMatrix< float >::T2DMatrix().

## T2DVector() [2/4]

template<class T>

T2DVector< T >::T2DVector | ( | int | dim | ) |

inline explicit

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

template<class T>

T T2DVector< T >::x

first element

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

Referenced by multiply< T2DImage< T > >::apply(), dot(), less_then< T2DVector< T > >::operator()(), T2DImage< bool >::operator()(), T2DImage< bool >::operator()(), operator*(), operator*(), T2DVector< int >::operator*=(), operator+(), T2DVector< int >::operator+=(), T2DMatrix< T >::operator-=(), T2DVector< int >::operator-=(), T2DVector< int >::operator/=(), operator<(), T2DMatrix< T >::operator=(), T2DVector< int >::operator==(), fifof_Fixture::prepare(), and T2DMatrix< float >::T2DMatrix().

## y

template<class T>

T T2DVector< T >::y

second element

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

Referenced by multiply< T2DImage< T > >::apply(), dot(), less_then< T2DVector< T > >::operator()(), T2DImage< bool >::operator()(), T2DImage< bool >::operator()(), operator*(), operator*(), T2DVector< int >::operator*=(), operator+(), T2DVector< int >::operator+=(), T2DMatrix< T >::operator-=(), T2DVector< int >::operator-=(), T2DVector< int >::operator/=(), operator<(), T2DMatrix< T >::operator=(), T2DVector< int >::operator==(), fifof_Fixture::prepare(), and T2DMatrix< float >::T2DMatrix().

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

- 2d/vector.hh