template<std::size_t N, _internal::Numeric T, typename Derived = void> asge::math::VecN
#include <VectorN.hpp>Collaboration
classDiagram
class N2["T"]
class N1["asge::math::VecN"]
N1 --> N2 : m_Vector
click N1 href "classasge_1_1math_1_1VecN.html"
Protected Types
#
using rebind_actual_derived_t = typename _internal::rebind_derived_trait< actual_derived >::template type< U >protectedPublic Types
#
using value_type = T#
using reference = value_type &#
using const_reference = value_type const &#
using pointer = value_type *#
using const_pointer = value_type const *#
using size_type = std::size_t#
using difference_type = std::ptrdiff_t#
using const_iterator = const_pointerProtected Attributes
Protected Member Functions
Static Protected Member Functions
#
template<typename _OutIter, typename _InIter1, typename _InIter2, typename BinaryOp> static void _ApplyBinaryIter(_OutIter inOut, _InIter1 inIter1, _InIter2 inIter2, BinaryOp op)protected#
template<typename _OutIter, typename _InIter, typename _Scalar, typename BinaryOp> static void _ApplyBinaryScalar(_OutIter inOut, _InIter inIter, _Scalar inScalar, BinaryOp op)protectedPublic Member Functions
#
VecN()=default#
template<_internal::Numeric... Us> constexpr VecN(Us... inValues)#
explicit VecN(value_type const inValue)#
constexpr VecN(std::initializer_list< T > inList)#
VecN(VecN const &inOther) noexcept#
VecN(VecN &&inOther) noexcept#
virtual ~VecN()=default#
constexpr void Fill(value_type const inValue) noexcept#
constexpr void Zeros() noexcept#
constexpr bool Empty() const noexcept#
constexpr const_reference operator[](size_type inPos) const#
const_pointer Data() const noexcept#
template<_internal::Numeric U, typename OtherDerived> auto operator+(VecN< N, U, OtherDerived > const &inOther) const noexcept#
template<_internal::Numeric U, typename OtherDerived> auto operator-(VecN< N, U, OtherDerived > const &inOther) const noexcept#
template<_internal::Numeric U, typename OtherDerived> auto operator*(VecN< N, U, OtherDerived > const &inOther) const noexcept#
template<_internal::Numeric U, typename OtherDerived> auto operator/(VecN< N, U, OtherDerived > const &inOther) const noexcept#
template<_internal::Numeric U> auto operator*(U const &inScalar) const noexcept#
template<_internal::Numeric U> auto operator/(U const &inScalar) const noexcept#
template<_internal::Numeric U, typename OtherDerived> auto & operator+=(VecN< N, U, OtherDerived > const &inOther) noexcept#
template<_internal::Numeric U, typename OtherDerived> auto & operator-=(VecN< N, U, OtherDerived > const &inOther) noexcept#
template<_internal::Numeric U, typename OtherDerived> auto & operator*=(VecN< N, U, OtherDerived > const &inOther) noexcept#
template<_internal::Numeric U, typename OtherDerived> auto & operator/=(VecN< N, U, OtherDerived > const &inOther) noexcept#
template<_internal::Numeric U> auto & operator*=(U const &inOther) noexcept#
template<_internal::Numeric U> auto & operator/=(U const &inOther) noexceptStatic Public Member Functions
Friends
#
friend operator*#
friend operator/