PeTar
N-body code for collisional gravitational systems
PIKG::Vector3< T > Class Template Reference

#include <pikg_vector.hpp>

Public Types

typedef T DataType
 

Public Member Functions

 Vector3 ()
 
 Vector3 (const T _x, const T _y, const T _z)
 
 Vector3 (const T s)
 
 Vector3 (const Vector3 &src)
 
const Vector3operator= (const Vector3 &rhs)
 
const Vector3operator= (const T s)
 
Vector3 operator+ (const Vector3 &rhs) const
 
const Vector3operator+= (const Vector3 &rhs)
 
Vector3 operator- (const Vector3 &rhs) const
 
const Vector3operator-= (const Vector3 &rhs)
 
Vector3 operator* (const T s) const
 
const Vector3operator*= (const T s)
 
Vector3 operator/ (const T s) const
 
const Vector3operator/= (const T s)
 
const Vector3operator+ () const
 
const Vector3 operator- () const
 
operator* (const Vector3 &rhs) const
 
Vector3 operator^ (const Vector3 &rhs) const
 
template<typename U >
 operator Vector3< U > () const
 
const T & operator[] (const int i) const
 
T & operator[] (const int i)
 
bool operator== (const Vector3 &u) const
 
bool operator!= (const Vector3 &u) const
 
Vector3< float > operator/ (const float s) const
 
Vector3< double > operator/ (const double s) const
 

Public Attributes

x
 
y
 
z
 

Static Public Attributes

static const int DIM = 3
 

Friends

Vector3 operator* (const T s, const Vector3 &v)
 
std::ostream & operator<< (std::ostream &c, const Vector3 &u)
 
std::istream & operator>> (std::istream &c, Vector3 &u)
 

Member Typedef Documentation

◆ DataType

template<class T >
typedef T PIKG::Vector3< T >::DataType

Constructor & Destructor Documentation

◆ Vector3() [1/4]

template<class T >
PIKG::Vector3< T >::Vector3 ( )
inline

◆ Vector3() [2/4]

template<class T >
PIKG::Vector3< T >::Vector3 ( const T  _x,
const T  _y,
const T  _z 
)
inline

◆ Vector3() [3/4]

template<class T >
PIKG::Vector3< T >::Vector3 ( const T  s)
inline

◆ Vector3() [4/4]

template<class T >
PIKG::Vector3< T >::Vector3 ( const Vector3< T > &  src)
inline

Member Function Documentation

◆ operator Vector3< U >()

template<class T >
template<typename U >
PIKG::Vector3< T >::operator Vector3< U > ( ) const
inline

◆ operator!=()

template<class T >
bool PIKG::Vector3< T >::operator!= ( const Vector3< T > &  u) const
inline

◆ operator*() [1/2]

template<class T >
Vector3 PIKG::Vector3< T >::operator* ( const T  s) const
inline

◆ operator*() [2/2]

template<class T >
T PIKG::Vector3< T >::operator* ( const Vector3< T > &  rhs) const
inline

◆ operator*=()

template<class T >
const Vector3& PIKG::Vector3< T >::operator*= ( const T  s)
inline

◆ operator+() [1/2]

template<class T >
const Vector3& PIKG::Vector3< T >::operator+ ( ) const
inline

◆ operator+() [2/2]

template<class T >
Vector3 PIKG::Vector3< T >::operator+ ( const Vector3< T > &  rhs) const
inline

◆ operator+=()

template<class T >
const Vector3& PIKG::Vector3< T >::operator+= ( const Vector3< T > &  rhs)
inline

◆ operator-() [1/2]

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

◆ operator-() [2/2]

template<class T >
Vector3 PIKG::Vector3< T >::operator- ( const Vector3< T > &  rhs) const
inline

◆ operator-=()

template<class T >
const Vector3& PIKG::Vector3< T >::operator-= ( const Vector3< T > &  rhs)
inline

◆ operator/() [1/3]

Vector3< double > PIKG::Vector3< double >::operator/ ( const double  s) const
inline

◆ operator/() [2/3]

Vector3< float > PIKG::Vector3< float >::operator/ ( const float  s) const
inline

◆ operator/() [3/3]

template<class T >
Vector3 PIKG::Vector3< T >::operator/ ( const T  s) const
inline

◆ operator/=()

template<class T >
const Vector3& PIKG::Vector3< T >::operator/= ( const T  s)
inline

◆ operator=() [1/2]

template<class T >
const Vector3& PIKG::Vector3< T >::operator= ( const T  s)
inline

◆ operator=() [2/2]

template<class T >
const Vector3& PIKG::Vector3< T >::operator= ( const Vector3< T > &  rhs)
inline

◆ operator==()

template<class T >
bool PIKG::Vector3< T >::operator== ( const Vector3< T > &  u) const
inline

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ operator^()

template<class T >
Vector3 PIKG::Vector3< T >::operator^ ( const Vector3< T > &  rhs) const
inline

Friends And Related Function Documentation

◆ operator*

template<class T >
Vector3 operator* ( const T  s,
const Vector3< T > &  v 
)
friend

◆ operator<<

template<class T >
std::ostream& operator<< ( std::ostream &  c,
const Vector3< T > &  u 
)
friend

◆ operator>>

template<class T >
std::istream& operator>> ( std::istream &  c,
Vector3< T > &  u 
)
friend

Member Data Documentation

◆ DIM

template<class T >
const int PIKG::Vector3< T >::DIM = 3
static

◆ x

template<class T >
T PIKG::Vector3< T >::x

◆ y

template<class T >
T PIKG::Vector3< T >::y

◆ z

template<class T >
T PIKG::Vector3< T >::z

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