8 template <
typename T,
unsigned DIM>
31 std::copy(std::begin(_other.m_elements), std::end(_other.m_elements), std::begin(
m_elements));
36 std::move(std::begin(_other.m_elements), std::end(_other.m_elements), std::begin(
m_elements));
40 inline const T&
operator[](
const unsigned int& i)
const noexcept {
57 inline int size() const noexcept {
61 template<
typename = std::enable_if_t<(DIM > 0)>>
66 template<
typename = std::enable_if_t<(DIM > 0)>>
71 template<
typename = std::enable_if_t<(DIM > 1)>>
76 template<
typename = std::enable_if_t<(DIM > 1)>>
81 template<
typename = std::enable_if_t<(DIM > 2)>>
86 template<
typename = std::enable_if_t<(DIM > 2)>>
91 template<
typename = std::enable_if_t<(DIM > 3)>>
96 template<
typename = std::enable_if_t<(DIM > 3)>>
Vector() noexcept=default
scalar_type & y() noexcept
Definition: vector.hpp:77
const scalar_type * elements() const noexcept
Definition: vector.hpp:53
const T & operator[](const unsigned int &i) const noexcept
Definition: vector.hpp:40
const scalar_type & w() const noexcept
Definition: vector.hpp:92
scalar_type & z() noexcept
Definition: vector.hpp:87
int size() const noexcept
Definition: vector.hpp:57
const scalar_type & y() const noexcept
Definition: vector.hpp:72
const scalar_type & z() const noexcept
Definition: vector.hpp:82
T & operator[](const unsigned int &i) noexcept
Definition: vector.hpp:46
T scalar_type
Definition: vector.hpp:12
scalar_type & w() noexcept
Definition: vector.hpp:97
const scalar_type & x() const noexcept
Definition: vector.hpp:62
Vector(const vec_type &_other) noexcept
Definition: vector.hpp:25
Vector< T, DIM > & operator=(const Vector< T, DIM > &_other) noexcept
Definition: vector.hpp:30
scalar_type m_elements[vec_size]
Definition: vector.hpp:16
scalar_type & x() noexcept
Definition: vector.hpp:67
static constexpr size_t vec_size
Definition: vector.hpp:11
Vector(vec_type &&_other) noexcept
Definition: vector.hpp:26