Nugget
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
psyqo::Vector< N, precisionBits, T > Struct Template Reference

#include <psyqo/vector.hh>

Collaboration diagram for psyqo::Vector< N, precisionBits, T >:
Collaboration graph
[legend]

Classes

struct  EmptyW
 
struct  EmptyZ
 

Public Types

typedef FixedPoint< precisionBits, T > FixedPointType
 

Public Member Functions

constexpr FixedPointTypeget (unsigned i)
 
constexpr const FixedPointTypeget (unsigned i) const
 
constexpr FixedPointTypeoperator[] (unsigned i)
 
constexpr operator Vertex () const
 
constexpr Vectoroperator+= (const Vector &rhs)
 
constexpr Vectoroperator-= (const Vector &rhs)
 
constexpr Vectoroperator*= (const FixedPointType &rhs)
 
constexpr Vectoroperator/= (const FixedPointType &rhs)
 
template<std::integral U>
constexpr Vectoroperator*= (U rhs)
 
template<std::integral U>
constexpr Vectoroperator/= (U rhs)
 
constexpr Vector operator- () const
 
constexpr Vector operator+ (const Vector &rhs) const
 
constexpr Vector operator- (const Vector &rhs) const
 
constexpr Vector operator* (const FixedPointType &rhs) const
 
constexpr Vector operator/ (const FixedPointType &rhs) const
 
template<std::integral U>
constexpr Vector operator* (U rhs) const
 
template<std::integral U>
constexpr Vector operator/ (U rhs) const
 

Static Public Member Functions

static constexpr Vector ZERO ()
 
static constexpr Vector ONE ()
 
static constexpr Vector UP ()
 
static constexpr Vector DOWN ()
 
static constexpr Vector LEFT ()
 
static constexpr Vector RIGHT ()
 
static constexpr Vector FORWARD ()
 
static constexpr Vector BACKWARD ()
 

Public Attributes

FixedPoint< precisionBits, T > x
 
FixedPoint< precisionBits, T > y
 
std::conditional_t<(N > 2), FixedPoint< precisionBits, T >, EmptyZz
 
std::conditional_t<(N > 3), FixedPoint< precisionBits, T >, EmptyWw
 

Member Typedef Documentation

◆ FixedPointType

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
typedef FixedPoint<precisionBits, T> psyqo::Vector< N, precisionBits, T >::FixedPointType

Member Function Documentation

◆ BACKWARD()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::BACKWARD ( )
inlinestaticconstexpr

◆ DOWN()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::DOWN ( )
inlinestaticconstexpr

◆ FORWARD()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::FORWARD ( )
inlinestaticconstexpr

◆ get() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr FixedPointType & psyqo::Vector< N, precisionBits, T >::get ( unsigned  i)
inlineconstexpr

◆ get() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr const FixedPointType & psyqo::Vector< N, precisionBits, T >::get ( unsigned  i) const
inlineconstexpr

◆ LEFT()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::LEFT ( )
inlinestaticconstexpr

◆ ONE()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::ONE ( )
inlinestaticconstexpr

◆ operator Vertex()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr psyqo::Vector< N, precisionBits, T >::operator Vertex ( ) const
inlineconstexpr

◆ operator*() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator* ( const FixedPointType rhs) const
inlineconstexpr

◆ operator*() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
template<std::integral U>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator* ( rhs) const
inlineconstexpr

◆ operator*=() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator*= ( const FixedPointType rhs)
inlineconstexpr

◆ operator*=() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
template<std::integral U>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator*= ( rhs)
inlineconstexpr

◆ operator+()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator+ ( const Vector< N, precisionBits, T > &  rhs) const
inlineconstexpr

◆ operator+=()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator+= ( const Vector< N, precisionBits, T > &  rhs)
inlineconstexpr

◆ operator-() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator- ( ) const
inlineconstexpr

◆ operator-() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator- ( const Vector< N, precisionBits, T > &  rhs) const
inlineconstexpr

◆ operator-=()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator-= ( const Vector< N, precisionBits, T > &  rhs)
inlineconstexpr

◆ operator/() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator/ ( const FixedPointType rhs) const
inlineconstexpr

◆ operator/() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
template<std::integral U>
constexpr Vector psyqo::Vector< N, precisionBits, T >::operator/ ( rhs) const
inlineconstexpr

◆ operator/=() [1/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator/= ( const FixedPointType rhs)
inlineconstexpr

◆ operator/=() [2/2]

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
template<std::integral U>
constexpr Vector & psyqo::Vector< N, precisionBits, T >::operator/= ( rhs)
inlineconstexpr

◆ operator[]()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
constexpr FixedPointType & psyqo::Vector< N, precisionBits, T >::operator[] ( unsigned  i)
inlineconstexpr

◆ RIGHT()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::RIGHT ( )
inlinestaticconstexpr

◆ UP()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::UP ( )
inlinestaticconstexpr

◆ ZERO()

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
static constexpr Vector psyqo::Vector< N, precisionBits, T >::ZERO ( )
inlinestaticconstexpr

Member Data Documentation

◆ w

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
std::conditional_t<(N > 3), FixedPoint<precisionBits, T>, EmptyW> psyqo::Vector< N, precisionBits, T >::w

◆ x

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
FixedPoint<precisionBits, T> psyqo::Vector< N, precisionBits, T >::x

◆ y

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
FixedPoint<precisionBits, T> psyqo::Vector< N, precisionBits, T >::y

◆ z

template<unsigned N, unsigned precisionBits = 12, std::integral T = int32_t>
std::conditional_t<(N > 2), FixedPoint<precisionBits, T>, EmptyZ> psyqo::Vector< N, precisionBits, T >::z

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