Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
TVectorN.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <cstddef>
6
7namespace ph::math
8{
9
10template<typename T, std::size_t N>
11class TVectorN final : public TVectorNBase<TVectorN<T, N>, T, N>
12{
13private:
14 using Base = TVectorNBase<TVectorN<T, N>, T, N>;
15
16protected:
17 using Base::m;
18
19public:
20 inline TVectorN() = default;
21 inline TVectorN(const TVectorN& other) = default;
22 inline TVectorN(TVectorN&& other) = default;
23 inline TVectorN& operator = (const TVectorN& rhs) = default;
24 inline TVectorN& operator = (TVectorN&& rhs) = default;
25 inline ~TVectorN() = default;
26
27 using Base::Base;
28
29 template<typename U>
30 explicit TVectorN(const TVectorN<U, N>& other);
31};
32
33}// end namespace ph::math
34
Definition TVectorNBase.h:14
std::array< T, N > m
Definition TArithmeticArrayBase.h:217
Definition TVectorN.h:12
TVectorN(const TVectorN &other)=default
TVectorN & operator=(const TVectorN &rhs)=default
TVectorN(TVectorN &&other)=default
Math functions and utilities.
Definition TransformInfo.h:10