C++ Library Extensions 2022.12.09
To help learn modern C++ programming
cpg_3dvector.hpp
Go to the documentation of this file.
1/*
2 Author: Thomas Kim
3 First Edit: Dec. 02, 2022
4*/
5#ifndef _CPG_3D_VECTOR_HPP
6#define _CPG_3D_VECTOR_HPP
7
8#include "cpg_types.hpp"
9
10namespace cpg
11{
12 namespace numerical_analysis
13 {
14 namespace cpt = cpg::types;
15
16 template<std::floating_point ElementType = float>
17 class d3vctr
18 {
19 protected:
20 using element_rows = std::vector<ElementType>;
21
23
24 public:
25 constexpr d3vctr(ElementType x,
26 ElementType y = ElementType{},
27 ElementType z = ElementType{}) noexcept:
28 m_x{x}, m_y{y}, m_z{z} {}
29
30 d3vctr(const d3vctr&) = default;
31 d3vctr(d3vctr&&) = default;
32
33 d3vctr& operator(const d2vctr&)= default;
34 d3vctr& operator(d2vctr&&)= default;
35
36
37
38 };
39 // d3vctr
40 }
41 // end of namespace numerical_analysis
42}
43// end of namespace cpg
44#endif
45// end of file
d3vctr(const d3vctr &)=default
d3vctr & operator(d2vctr &&)=default
d3vctr & operator(const d2vctr &)=default
constexpr d3vctr(ElementType x, ElementType y=ElementType{}, ElementType z=ElementType{}) noexcept
std::vector< ElementType > element_rows
Includes subnamespace conversion.