molecular
Public Types | Public Member Functions | Protected Attributes | List of all members
molecular::util::VectorTmpl< components, TSubclass, _T > Class Template Reference

Vector base class template. More...

#include <Vector.h>

Public Types

typedef _T T
 
using Subclass = TSubclass
 

Public Member Functions

 VectorTmpl ()
 
T operator[] (const int n) const
 
Toperator[] (const int n)
 
 operator const T * () const
 
 operator T * ()
 
Subclass operator* (T r) const
 Component-wise multiplication. More...
 
Subclass operator* (const VectorTmpl &in) const
 Component-wise multiplication. More...
 
Subclassoperator+= (const VectorTmpl &in)
 
Subclassoperator*= (T r)
 Component-wise in-place multiplication. More...
 
Subclassoperator*= (const VectorTmpl &in)
 Component-wise in-place multiplication. More...
 
Subclass operator/ (T r) const
 Component-wise scalar division. More...
 
Subclassoperator/= (T r)
 Component-wise in-place scalar division. More...
 
Subclassoperator/= (const VectorTmpl &in)
 Component-wise in-place division. More...
 
Subclass operator- (const VectorTmpl &in) const
 
Subclass operator- () const
 
Subclass operator+ (const VectorTmpl &in) const
 
bool operator== (const VectorTmpl &in) const
 
T LengthSquared () const
 
T Length () const
 
Subclass Normalized () const
 
T Dot (const VectorTmpl &in)
 Dot product. More...
 

Protected Attributes

T v [components]
 

Detailed Description

template<int components, class TSubclass, typename _T = float>
class molecular::util::VectorTmpl< components, TSubclass, _T >

Vector base class template.

Cannot be instanciated directly. Use typedef or subclassing, or the Vector template.

Member Typedef Documentation

template<int components, class TSubclass, typename _T = float>
using molecular::util::VectorTmpl< components, TSubclass, _T >::Subclass = TSubclass
template<int components, class TSubclass, typename _T = float>
typedef _T molecular::util::VectorTmpl< components, TSubclass, _T >::T

Constructor & Destructor Documentation

template<int components, class TSubclass, typename _T = float>
molecular::util::VectorTmpl< components, TSubclass, _T >::VectorTmpl ( )
inline

Member Function Documentation

template<int components, class TSubclass, typename _T = float>
T molecular::util::VectorTmpl< components, TSubclass, _T >::Dot ( const VectorTmpl< components, TSubclass, _T > &  in)
inline

Dot product.

template<int components, class TSubclass, typename _T = float>
T molecular::util::VectorTmpl< components, TSubclass, _T >::Length ( ) const
inline
template<int components, class TSubclass, typename _T = float>
T molecular::util::VectorTmpl< components, TSubclass, _T >::LengthSquared ( ) const
inline
template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::Normalized ( ) const
inline
template<int components, class TSubclass, typename _T = float>
molecular::util::VectorTmpl< components, TSubclass, _T >::operator const T * ( ) const
inline
template<int components, class TSubclass, typename _T = float>
molecular::util::VectorTmpl< components, TSubclass, _T >::operator T * ( )
inline
template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator* ( T  r) const
inline

Component-wise multiplication.

template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator* ( const VectorTmpl< components, TSubclass, _T > &  in) const
inline

Component-wise multiplication.

template<int components, class TSubclass, typename _T = float>
Subclass& molecular::util::VectorTmpl< components, TSubclass, _T >::operator*= ( T  r)
inline

Component-wise in-place multiplication.

template<int components, class TSubclass, typename _T = float>
Subclass& molecular::util::VectorTmpl< components, TSubclass, _T >::operator*= ( const VectorTmpl< components, TSubclass, _T > &  in)
inline

Component-wise in-place multiplication.

template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator+ ( const VectorTmpl< components, TSubclass, _T > &  in) const
inline
template<int components, class TSubclass, typename _T = float>
Subclass& molecular::util::VectorTmpl< components, TSubclass, _T >::operator+= ( const VectorTmpl< components, TSubclass, _T > &  in)
inline
template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator- ( const VectorTmpl< components, TSubclass, _T > &  in) const
inline
template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator- ( ) const
inline
template<int components, class TSubclass, typename _T = float>
Subclass molecular::util::VectorTmpl< components, TSubclass, _T >::operator/ ( T  r) const
inline

Component-wise scalar division.

template<int components, class TSubclass, typename _T = float>
Subclass& molecular::util::VectorTmpl< components, TSubclass, _T >::operator/= ( T  r)
inline

Component-wise in-place scalar division.

template<int components, class TSubclass, typename _T = float>
Subclass& molecular::util::VectorTmpl< components, TSubclass, _T >::operator/= ( const VectorTmpl< components, TSubclass, _T > &  in)
inline

Component-wise in-place division.

template<int components, class TSubclass, typename _T = float>
bool molecular::util::VectorTmpl< components, TSubclass, _T >::operator== ( const VectorTmpl< components, TSubclass, _T > &  in) const
inline
template<int components, class TSubclass, typename _T = float>
T molecular::util::VectorTmpl< components, TSubclass, _T >::operator[] ( const int  n) const
inline
template<int components, class TSubclass, typename _T = float>
T& molecular::util::VectorTmpl< components, TSubclass, _T >::operator[] ( const int  n)
inline

Member Data Documentation

template<int components, class TSubclass, typename _T = float>
T molecular::util::VectorTmpl< components, TSubclass, _T >::v[components]
protected

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