Peano
Loading...
Searching...
No Matches
NumVec< T, LENGTH > Class Template Reference

#include <numvec.h>

Public Member Functions

 NumVec ()=default
 
 NumVec (T val)
 
 NumVec (std::initializer_list< T > list)
 
 NumVec (const T(&list)[LENGTH])
 
 NumVec (const NumVec &other)
 
template<typename... Args>
 NumVec (T arg0, Args... args)
 
bool operator== (const NumVec &other) const
 
bool operator!= (const NumVec &other) const
 
bool operator> (const NumVec &other) const
 
bool operator>= (const NumVec &other) const
 
bool operator< (const NumVec &other) const
 
bool operator<= (const NumVec &other) const
 
T & operator[] (u32 idx)
 
const T & operator[] (u32 idx) const
 
bool eq (const NumVec &other, const T eps=std::numeric_limits< T >::epsilon()) const
 
sum () const
 
prod () const
 
NumVec floor () const
 
NumVec ceil () const
 
NumVec abs () const
 
NumVec pow (float pow) const
 
template<typename Q >
NumVec< Q, LENGTH > castAs () const
 

Static Public Member Functions

static constexpr u32 size ()
 

Private Member Functions

template<u64 idx>
void init (T arg0)
 
template<u64 idx, typename... Args>
void init (T arg0, Args... args)
 

Private Attributes

vec [LENGTH]
 

Friends

std::ostream & operator<< (std::ostream &stream, const NumVec &value)
 

Detailed Description

template<typename T, u32 LENGTH>
class NumVec< T, LENGTH >

Definition at line 14 of file numvec.h.

Constructor & Destructor Documentation

◆ NumVec() [1/6]

template<typename T , u32 LENGTH>
NumVec< T, LENGTH >::NumVec ( )
explicitdefault

◆ NumVec() [2/6]

template<typename T , u32 LENGTH>
NumVec< T, LENGTH >::NumVec ( T val)
explicit

Definition at line 20 of file numvec.h.

◆ NumVec() [3/6]

template<typename T , u32 LENGTH>
NumVec< T, LENGTH >::NumVec ( std::initializer_list< T > list)

Definition at line 24 of file numvec.h.

References assert.

◆ NumVec() [4/6]

template<typename T , u32 LENGTH>
NumVec< T, LENGTH >::NumVec ( const T(&) list[LENGTH])
explicit

Definition at line 31 of file numvec.h.

◆ NumVec() [5/6]

template<typename T , u32 LENGTH>
NumVec< T, LENGTH >::NumVec ( const NumVec< T, LENGTH > & other)

Definition at line 37 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ NumVec() [6/6]

template<typename T , u32 LENGTH>
template<typename... Args>
NumVec< T, LENGTH >::NumVec ( T arg0,
Args... args )

Definition at line 61 of file numvec.h.

Member Function Documentation

◆ abs()

template<typename T , u32 LENGTH>
NumVec NumVec< T, LENGTH >::abs ( ) const

Definition at line 191 of file numvec.h.

References std::abs(), and NumVec< T, LENGTH >::NumVec().

Here is the call graph for this function:

◆ castAs()

template<typename T , u32 LENGTH>
template<typename Q >
NumVec< Q, LENGTH > NumVec< T, LENGTH >::castAs ( ) const

Definition at line 204 of file numvec.h.

◆ ceil()

template<typename T , u32 LENGTH>
NumVec NumVec< T, LENGTH >::ceil ( ) const

Definition at line 185 of file numvec.h.

References NumVec< T, LENGTH >::NumVec().

Here is the call graph for this function:

◆ eq()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::eq ( const NumVec< T, LENGTH > & other,
const T eps = std::numeric_limits<T>::epsilon() ) const

Definition at line 163 of file numvec.h.

References NumVec< T, LENGTH >::NumVec().

Here is the call graph for this function:

◆ floor()

template<typename T , u32 LENGTH>
NumVec NumVec< T, LENGTH >::floor ( ) const

Definition at line 179 of file numvec.h.

References NumVec< T, LENGTH >::NumVec().

Here is the call graph for this function:

◆ init() [1/2]

template<typename T , u32 LENGTH>
template<u64 idx>
void NumVec< T, LENGTH >::init ( T arg0)
private

Definition at line 49 of file numvec.h.

◆ init() [2/2]

template<typename T , u32 LENGTH>
template<u64 idx, typename... Args>
void NumVec< T, LENGTH >::init ( T arg0,
Args... args )
private

Definition at line 54 of file numvec.h.

◆ operator!=()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator!= ( const NumVec< T, LENGTH > & other) const

Definition at line 72 of file numvec.h.

◆ operator<()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator< ( const NumVec< T, LENGTH > & other) const

Definition at line 93 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ operator<=()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator<= ( const NumVec< T, LENGTH > & other) const

Definition at line 100 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ operator==()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator== ( const NumVec< T, LENGTH > & other) const

Definition at line 65 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ operator>()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator> ( const NumVec< T, LENGTH > & other) const

Definition at line 79 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ operator>=()

template<typename T , u32 LENGTH>
bool NumVec< T, LENGTH >::operator>= ( const NumVec< T, LENGTH > & other) const

Definition at line 86 of file numvec.h.

References NumVec< T, LENGTH >::vec.

◆ operator[]() [1/2]

template<typename T , u32 LENGTH>
T & NumVec< T, LENGTH >::operator[] ( u32 idx)

Definition at line 107 of file numvec.h.

References assert.

◆ operator[]() [2/2]

template<typename T , u32 LENGTH>
const T & NumVec< T, LENGTH >::operator[] ( u32 idx) const

Definition at line 112 of file numvec.h.

References assert.

◆ pow()

template<typename T , u32 LENGTH>
NumVec NumVec< T, LENGTH >::pow ( float pow) const

Definition at line 197 of file numvec.h.

References NumVec< T, LENGTH >::NumVec(), and NumVec< T, LENGTH >::pow().

Referenced by NumVec< T, LENGTH >::pow().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prod()

template<typename T , u32 LENGTH>
T NumVec< T, LENGTH >::prod ( ) const

Definition at line 173 of file numvec.h.

◆ size()

template<typename T , u32 LENGTH>
static constexpr u32 NumVec< T, LENGTH >::size ( )
staticconstexpr

◆ sum()

template<typename T , u32 LENGTH>
T NumVec< T, LENGTH >::sum ( ) const

Definition at line 167 of file numvec.h.

Friends And Related Symbol Documentation

◆ operator<<

template<typename T , u32 LENGTH>
std::ostream & operator<< ( std::ostream & stream,
const NumVec< T, LENGTH > & value )
friend

Definition at line 214 of file numvec.h.

Field Documentation

◆ vec


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