OGLplus  (0.59.0) a C++ wrapper for rendering APIs

eagine::math::tvec< T, N, V > Struct Template Reference

Generic template for N-dimensional vectors. More...

#include <eagine/math/tvec.hpp>

Public Types

using base = vector< T, N, V >
 The base vector type.
 

Public Member Functions

constexpr tvec () noexcept
 Default constructor. Constructs a zero vector.
 
constexpr tvec (T v) noexcept
 Constructor initializing all coordinates to v.
 
constexpr tvec (const base &v) noexcept
 Construction from base vector.
 
 tvec (const T(&d)[N]) noexcept
 Construction from native array.
 
template<typename... P, typename = std::enable_if_t< (sizeof...(P) == N) && all_are_convertible_to<T, P...>::value>>
constexpr tvec (P &&... p) noexcept
 Construction from coordinates.
 
template<typename P , int M, bool W, typename = std::enable_if_t<!std::is_same_v<P, T> || !(M == N)>>
constexpr tvec (const vector< P, M, W > &v) noexcept
 Construction from vector of different dimensionality.
 
template<typename P , int M, bool W>
constexpr tvec (const vector< P, M, W > &v, T d) noexcept
 Construction from vector of different dimensionality.
 
template<typename P , int M, bool W, typename... R, typename = std::enable_if_t< (sizeof...(R) > 1) && (M + sizeof...(R) == N) && all_are_convertible_to<T, R...>::value>>
constexpr tvec (const vector< P, M, W > &v, R &&... r) noexcept
 Construction from vector of different dimensionality.
 
template<typename P , int M, bool W>
constexpr tvec (const vector< P, M, W > &v, const vector< T, N - M, W > &w) noexcept
 Construction from a pair of vectors of different dimensionality.
 

Detailed Description

template<typename T, int N, bool V>
struct eagine::math::tvec< T, N, V >

Generic template for N-dimensional vectors.


The documentation for this struct was generated from the following files:

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).