Nexus Engine  v0.0.1
Loading...
Searching...
No Matches
Nexus::Vec< T, N > Class Template Referenceexport

Public Types

using value_type = T
using size_type = usize

Public Member Functions

constexpr Vec ()=default
template<typename... Args>
requires (sizeof...(Args) == N) && (std::convertible_to<Args, T> && ...)
constexpr Vec (Args &&... args)
constexpr T & operator[] (size_type index)
constexpr const T & operator[] (size_type index) const
constexpr T * Data ()
constexpr const T * Data () const
template<Numeric U>
constexpr bool operator== (const Vec< U, N > &other) const
template<Numeric U>
constexpr Vecoperator+= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vecoperator-= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vecoperator*= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vecoperator/= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vecoperator*= (U scalar)
template<Numeric U>
constexpr Vecoperator/= (U scalar)
constexpr Vec operator+ () const
constexpr Vec operator- () const
template<Numeric U>
constexpr Vec< T, N > & operator+= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vec< T, N > & operator-= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vec< T, N > & operator*= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vec< T, N > & operator/= (const Vec< U, N > &other)
template<Numeric U>
constexpr Vec< T, N > & operator*= (U scalar)
template<Numeric U>
constexpr Vec< T, N > & operator/= (U scalar)

Static Public Member Functions

static constexpr size_type Size ()

Member Typedef Documentation

◆ size_type

template<Numeric T, usize N>
using Nexus::Vec< T, N >::size_type = usize

◆ value_type

template<Numeric T, usize N>
using Nexus::Vec< T, N >::value_type = T

Constructor & Destructor Documentation

◆ Vec() [1/2]

template<Numeric T, usize N>
Nexus::Vec< T, N >::Vec ( )
constexprdefault

◆ Vec() [2/2]

template<Numeric T, usize N>
requires (sizeof...(Args) == N) && (std::convertible_to<Args, T> && ...)
template<typename... Args>
requires (sizeof...(Args) == N) && (std::convertible_to<Args, T> && ...)
Nexus::Vec< T, N >::Vec ( Args &&... args)
constexpr

Member Function Documentation

◆ Data() [1/2]

template<Numeric T, usize N>
T * Nexus::Vec< T, N >::Data ( )
constexpr

◆ Data() [2/2]

template<Numeric T, usize N>
const T * Nexus::Vec< T, N >::Data ( ) const
constexpr

◆ operator*=() [1/4]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator*= ( const Vec< U, N > & other)
constexpr

◆ operator*=() [2/4]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator*= ( const Vec< U, N > & other)
constexpr

◆ operator*=() [3/4]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator*= ( U scalar)
constexpr

◆ operator*=() [4/4]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator*= ( U scalar)
constexpr

◆ operator+()

template<Numeric T, usize N>
Vec< T, N > Nexus::Vec< T, N >::operator+ ( ) const
constexpr

◆ operator+=() [1/2]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator+= ( const Vec< U, N > & other)
constexpr

◆ operator+=() [2/2]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator+= ( const Vec< U, N > & other)
constexpr

◆ operator-()

template<Numeric T, usize N>
Vec< T, N > Nexus::Vec< T, N >::operator- ( ) const
constexpr

◆ operator-=() [1/2]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator-= ( const Vec< U, N > & other)
constexpr

◆ operator-=() [2/2]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator-= ( const Vec< U, N > & other)
constexpr

◆ operator/=() [1/4]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator/= ( const Vec< U, N > & other)
constexpr

◆ operator/=() [2/4]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator/= ( const Vec< U, N > & other)
constexpr

◆ operator/=() [3/4]

template<Numeric T, usize N>
template<Numeric U>
Vec & Nexus::Vec< T, N >::operator/= ( U scalar)
constexpr

◆ operator/=() [4/4]

template<Numeric T, usize N>
template<Numeric U>
Vec< T, N > & Nexus::Vec< T, N >::operator/= ( U scalar)
constexpr

◆ operator==()

template<Numeric T, usize N>
template<Numeric U>
bool Nexus::Vec< T, N >::operator== ( const Vec< U, N > & other) const
constexpr

◆ operator[]() [1/2]

template<Numeric T, usize N>
T & Nexus::Vec< T, N >::operator[] ( size_type index)
constexpr

◆ operator[]() [2/2]

template<Numeric T, usize N>
const T & Nexus::Vec< T, N >::operator[] ( size_type index) const
constexpr

◆ Size()

template<Numeric T, usize N>
usize Nexus::Vec< T, N >::Size ( )
staticconstexpr

The documentation for this class was generated from the following files:
  • Source/Engine/Core/Math/Public/Vec/Vec.cppm
  • Source/Engine/Core/Math/Public/Vec/Vec.inl