SLIMMER
Public Member Functions | Static Public Attributes | Protected Attributes
SimpleVTVec< T, TS > Class Template Reference

Variable Size Templated Vector Class. More...

#include <SimpleVTVec.h>

Inheritance diagram for SimpleVTVec< T, TS >:
SimpleBaseTVec< T, TS > SimpleTField< T, TS > SimpleTField< float > SimpleTField< T2 >

List of all members.

Public Member Functions

 SimpleVTVec (const TS len=3)
 Default Constructor with Size Option.
 SimpleVTVec (const SimpleVTVec< T, TS > &v2)
 Copy Constructor from Other Element Types (including default copy of same type)
template<typename T2 >
 SimpleVTVec (const SimpleBaseTVec< T2, TS > &v2)
 Copy Constructor from Other SimpleBaseVec Types.
 ~SimpleVTVec ()
 Destructor.
void ReSize (const TS s)
 Change Size/Dimension of vector (only works for variable length vectors)
void IncreaseSize (const TS s)
 Increase Size/Dimension of vector and Preserve Current Values (only works for variable length vectors)
void AddValue (const T value)
 append value
T & operator[] (const TS &i)
 Return reference to given element (allows modification)
T & operator[] (const int &i)
 Return reference to given element (allows modification)
operator[] (const TS &i) const
operator() (const TS &i) const
 Return copy of a given element (class constant)
operator() (const int &i) const
 Return copy of a given element (class constant)
TS Size () const
 Return Size/Dimension of vector.
SimpleVTVec< T > Reflect () const
 Return Reflected Vector.
SimpleVTVec< T, TS > Permute () const
 random permutation
SimpleVTVec< T > Skip (const TS element) const
 Return Vector one element shorter skipping given element.
SimpleVTVec< T, TS > & operator= (const SimpleVTVec< T, TS > &v2)
 Copy Assignment.
template<typename T2 >
SimpleVTVec< T, TS > & operator= (const SimpleBaseTVec< T2, TS > &v2)
 Generic Assignment for All Other Vectors.
template<typename T2 >
SimpleVTVec< T, TS > & operator*= (const SimpleBaseTVec< T2, TS > &v2)
 Operator Vector*=Vector.
template<typename T2 >
SimpleVTVec< T, TS > & operator-= (const SimpleBaseTVec< T2, TS > &v2)
 Operator Vector-=Vector.
template<typename T2 >
SimpleVTVec< T, TS > & operator+= (const SimpleBaseTVec< T2, TS > &v2)
 Operator Vector+=Vector.
SimpleVTVec< T, TS > & operator+= (const T &scalar)
 Operator vector += Scalar.
SimpleVTVec< T, TS > & operator-= (const T &scalar)
 Operator vector -= Scalar.
SimpleVTVec< T, TS > & operator*= (const T &scalar)
 Operator vector *= Scalar.
SimpleVTVec< T, TS > & operator/= (const T &scalar)
 Operator vector /= Scalar.
SimpleVTVec< T, TS > & operator++ ()
 Operator Vector ++.
SimpleVTVec< T, TS > & operator-- ()
 Operator Vector --.
template<typename T2 >
SimpleVTVec< T, TS > operator* (const SimpleBaseTVec< T2, TS > &v2) const
 Operator Vector*Vector.
template<typename T2 >
SimpleVTVec< T, TS > operator- (const SimpleBaseTVec< T2, TS > &v2) const
 Operator Vector-Vector.
template<typename T2 >
SimpleVTVec< T, TS > operator+ (const SimpleBaseTVec< T2, TS > &v2) const
 Operator Vector+Vector.
template<typename T2 >
SimpleVTVec< T, TS > operator/ (const SimpleBaseTVec< T2, TS > &v2) const
 Operator Vector/Vector.
template<typename T2 >
SimpleVTVec< T, TS > crossV (const SimpleBaseTVec< T2, TS > &v2) const
 Cross-product with a given vector.
SimpleVTVec< T, TS > operator* (const T &v2) const
 Operator Vector*Scalar.
SimpleVTVec< T, TS > operator- (const T &v2) const
 Operator Vector-Scalar.
SimpleVTVec< T, TS > operator+ (const T &v2) const
 Operator Vector+Scalar.
SimpleVTVec< T, TS > operator/ (const T &v2) const
 Operator Vector/Scalar.
template<>
const char _versionID []
template<>
const char _versionID []
template<>
const char _versionID []
template<>
const char _versionID []
template<>
const char _versionID []

Static Public Attributes

static const char _versionID []

Protected Attributes

TS _length
 Length of Vector.
T * _elem
 Pointer to Storage.

Detailed Description

template<typename T, typename TS = unsigned int>
class SimpleVTVec< T, TS >

Variable Size Templated Vector Class.

Derived from base vector class
Adds functions and operators returning variable sized vectors

Author:
Colin Studholme 2008-
Id:
SimpleVTVec.h,v 1.36 2011/10/20 18:19:07 bicg Exp

Member Function Documentation

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator* ( const SimpleBaseTVec< T2, TS > &  v2) const [inline]

Operator Vector*Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator* ( const T &  v2) const [inline]

Operator Vector*Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator*= ( const T &  scalar) [inline]

Operator vector *= Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator*= ( const SimpleBaseTVec< T2, TS > &  v2) [inline]

Operator Vector*=Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator+ ( const SimpleBaseTVec< T2, TS > &  v2) const [inline]

Operator Vector+Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator+ ( const T &  v2) const [inline]

Operator Vector+Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator+= ( const SimpleBaseTVec< T2, TS > &  v2) [inline]

Operator Vector+=Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator+= ( const T &  scalar) [inline]

Operator vector += Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator- ( const T &  v2) const [inline]

Operator Vector-Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator- ( const SimpleBaseTVec< T2, TS > &  v2) const [inline]

Operator Vector-Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator-= ( const SimpleBaseTVec< T2, TS > &  v2) [inline]

Operator Vector-=Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator-= ( const T &  scalar) [inline]

Operator vector -= Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator/ ( const T &  v2) const [inline]

Operator Vector/Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

template<typename T, typename TS = unsigned int>
template<typename T2 >
SimpleVTVec<T,TS> SimpleVTVec< T, TS >::operator/ ( const SimpleBaseTVec< T2, TS > &  v2) const [inline]

Operator Vector/Vector.

(Note: Base Vector Used to Keep Generic)

template<typename T, typename TS = unsigned int>
SimpleVTVec<T,TS>& SimpleVTVec< T, TS >::operator/= ( const T &  scalar) [inline]

Operator vector /= Scalar.

Note: Same Type as elements enforced

Reimplemented in SimpleTField< T, TS >, and SimpleTField< T >.

 All Classes Functions Variables Typedefs