Template Struct quantity_vector

Inheritance Relationships

Base Type

Struct Documentation

template<std::size_t N, Quantity Q>
struct quantity_vector : public wt::quantity_vector_storage<N, Q>

Public Types

using quantity_t = Q
using R = typename Q::rep

Public Functions

constexpr quantity_vector() noexcept = default
template<Quantity S>
inline explicit constexpr quantity_vector(S s) noexcept
inline constexpr quantity_vector(Q x, Q y) noexcept
inline constexpr quantity_vector(Q x, Q y, Q z) noexcept
inline constexpr quantity_vector(const quantity_vector<2, Q> &xy, Q z) noexcept
inline constexpr quantity_vector(Q x, const quantity_vector<2, Q> &yz) noexcept
inline constexpr quantity_vector(Q x, Q y, Q z, Q w) noexcept
inline constexpr quantity_vector(const quantity_vector<2, Q> &xy, Q z, Q w) noexcept
inline constexpr quantity_vector(Q x, Q y, const quantity_vector<2, Q> &zw) noexcept
inline constexpr quantity_vector(const quantity_vector<2, Q> &xy, const quantity_vector<2, Q> &zw) noexcept
inline constexpr quantity_vector(const quantity_vector<3, Q> &xyz, Q w) noexcept
inline constexpr quantity_vector(Q x, const quantity_vector<3, Q> &yzw) noexcept
template<std::size_t M, Quantity S>
inline explicit constexpr quantity_vector(const quantity_vector<M, S> &qv) noexcept
template<std::size_t M, Quantity S>
inline explicit constexpr quantity_vector(const vec<M, S> &qv) noexcept
constexpr quantity_vector(quantity_vector&&) noexcept = default
constexpr quantity_vector(const quantity_vector&) noexcept = default
constexpr quantity_vector &operator=(quantity_vector&&) noexcept = default
constexpr quantity_vector &operator=(const quantity_vector&) noexcept = default
inline constexpr auto &operator[](std::size_t i) noexcept
inline constexpr const auto &operator[](std::size_t i) const noexcept
inline constexpr const auto &operator+=(const quantity_vector &o) noexcept
inline constexpr const auto &operator-=(const quantity_vector &o) noexcept
inline constexpr const auto &operator*=(const R &o) noexcept
inline constexpr const auto &operator/=(const R &o) noexcept
inline constexpr const auto &operator*=(const vec<N, R> &o) noexcept
inline constexpr const auto &operator/=(const vec<N, R> &o) noexcept
inline constexpr const auto &operator-(int) noexcept
template<Unit U>
inline constexpr auto numerical_value_in(U) const noexcept
inline explicit constexpr operator vec<N, R>() const noexcept
template<Quantity S>
inline constexpr operator quantity_vector<N, S>() const noexcept
template<std::size_t M, Quantity S>
inline explicit constexpr operator quantity_vector<M, S>() const noexcept

Public Static Functions

static inline constexpr auto zero() noexcept
static inline constexpr auto infinity() noexcept

Public Static Attributes

static constexpr auto element_count = N