Vec2< T > Class Template Reference

small class which defines a vector with 2 elements More...

#include <libwps_internal.h>

Classes

struct  PosSizeLtX
 internal struct used to create sorted map, sorted by X More...
struct  PosSizeLtY
 internal struct used to create sorted map, sorted by Y More...

Public Types

typedef std::map< Vec2< T >, T,
struct PosSizeLtX
MapX
 map of Vec2
typedef std::map< Vec2< T >, T,
struct PosSizeLtY
MapY
 map of Vec2

Public Member Functions

 Vec2 (T xx=0, T yy=0)
 constructor
template<class U >
 Vec2 (Vec2< U > const &p)
 generic copy constructor
x () const
 first element
y () const
 second element
operator[] (int c) const
 operator[]
T & operator[] (int c)
 operator[]
void set (T xx, T yy)
 resets the two elements
void setX (T xx)
 resets the first element
void setY (T yy)
 resets the second element
void add (T dx, T dy)
 increases the actuals values by dx and dy
Vec2< T > & operator+= (Vec2< T > const &p)
 operator+=
Vec2< T > & operator-= (Vec2< T > const &p)
 operator-=
template<class U >
Vec2< T > & operator*= (U scale)
 generic operator*=
bool operator== (Vec2< T > const &p) const
 comparison==
bool operator!= (Vec2< T > const &p) const
 comparison!=
bool operator< (Vec2< T > const &p) const
 comparison<: sort by y
int cmp (Vec2< T > const &p) const
 a comparison function: which first compares x then y
int cmpY (Vec2< T > const &p) const
 a comparison function: which first compares y then x

Protected Attributes

m_x
 first element
m_y
 second element

Friends

Vec2< T > operator+ (Vec2< T > const &p1, Vec2< T > const &p2)
 operator+
Vec2< T > operator- (Vec2< T > const &p1, Vec2< T > const &p2)
 operator-
template<class U >
Vec2< T > operator* (U scale, Vec2< T > const &p1)
 generic operator*
std::ostream & operator<< (std::ostream &o, Vec2< T > const &f)
 operator<<: prints data in form "XxY"

Detailed Description

template<class T>
class Vec2< T >

small class which defines a vector with 2 elements

Member Typedef Documentation

template<class T>
Vec2< T >::MapX

map of Vec2

template<class T>
Vec2< T >::MapY

map of Vec2

Constructor & Destructor Documentation

template<class T>
Vec2< T >::Vec2 ( xx = 0,
yy = 0 
)
inline

constructor

template<class T>
template<class U >
Vec2< T >::Vec2 ( Vec2< U > const &  p)
inline

generic copy constructor

Member Function Documentation

template<class T>
void Vec2< T >::add ( dx,
dy 
)
inline

increases the actuals values by dx and dy

template<class T>
int Vec2< T >::cmp ( Vec2< T > const &  p) const
inline

a comparison function: which first compares x then y

Referenced by Vec2< T >::PosSizeLtX::operator()().

template<class T>
int Vec2< T >::cmpY ( Vec2< T > const &  p) const
inline
template<class T>
bool Vec2< T >::operator!= ( Vec2< T > const &  p) const
inline

comparison!=

template<class T>
template<class U >
Vec2<T>& Vec2< T >::operator*= ( scale)
inline

generic operator*=

template<class T>
Vec2<T>& Vec2< T >::operator+= ( Vec2< T > const &  p)
inline

operator+=

template<class T>
Vec2<T>& Vec2< T >::operator-= ( Vec2< T > const &  p)
inline

operator-=

template<class T>
bool Vec2< T >::operator< ( Vec2< T > const &  p) const
inline

comparison<: sort by y

template<class T>
bool Vec2< T >::operator== ( Vec2< T > const &  p) const
inline

comparison==

template<class T>
T Vec2< T >::operator[] ( int  c) const
inline

operator[]

template<class T>
T& Vec2< T >::operator[] ( int  c)
inline

operator[]

template<class T>
void Vec2< T >::set ( xx,
yy 
)
inline

resets the two elements

template<class T>
void Vec2< T >::setX ( xx)
inline

resets the first element

template<class T>
void Vec2< T >::setY ( yy)
inline

resets the second element

template<class T>
T Vec2< T >::x ( ) const
inline
template<class T>
T Vec2< T >::y ( ) const
inline

Friends And Related Function Documentation

template<class T>
template<class U >
Vec2<T> operator* ( scale,
Vec2< T > const &  p1 
)
friend

generic operator*

template<class T>
Vec2<T> operator+ ( Vec2< T > const &  p1,
Vec2< T > const &  p2 
)
friend

operator+

template<class T>
Vec2<T> operator- ( Vec2< T > const &  p1,
Vec2< T > const &  p2 
)
friend

operator-

template<class T>
std::ostream& operator<< ( std::ostream &  o,
Vec2< T > const &  f 
)
friend

operator<<: prints data in form "XxY"

Member Data Documentation


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

Generated on Wed Aug 8 2012 16:07:58 for libwps by doxygen 1.8.1.2