Make sure math::vector,point are trivially default constructible
This commit is contained in:
parent
68aedbf2fa
commit
aeb0f4a799
3 changed files with 6 additions and 8 deletions
|
|
@ -43,6 +43,8 @@ namespace psemek::math::detail
|
|||
|
||||
T data[N];
|
||||
|
||||
type() = default;
|
||||
|
||||
type(dynamic_dimensions<N>){}
|
||||
|
||||
dynamic_dimensions<N> dimensions() const { return {}; }
|
||||
|
|
@ -59,6 +61,8 @@ namespace psemek::math::detail
|
|||
{
|
||||
static constexpr std::size_t size = 0;
|
||||
|
||||
type() = default;
|
||||
|
||||
type(dynamic_dimensions<0>){}
|
||||
|
||||
dynamic_dimensions<0> dimensions() const { return {}; }
|
||||
|
|
|
|||
|
|
@ -26,9 +26,7 @@ namespace psemek::math
|
|||
: coords(dimensions)
|
||||
{}
|
||||
|
||||
point()
|
||||
: coords({})
|
||||
{}
|
||||
point() = default;
|
||||
|
||||
explicit point(std::size_t size) requires (N == dynamic)
|
||||
: coords({.size = size})
|
||||
|
|
@ -37,7 +35,6 @@ namespace psemek::math
|
|||
template <typename ... Args>
|
||||
requires(N != dynamic && sizeof...(Args) == N && detail::all_convertible_to<T, Args...>::value)
|
||||
point(Args && ... args)
|
||||
: coords({})
|
||||
{
|
||||
auto out = values().begin();
|
||||
((*out++ = args), ...);
|
||||
|
|
|
|||
|
|
@ -29,9 +29,7 @@ namespace psemek::math
|
|||
: coords(dimensions)
|
||||
{}
|
||||
|
||||
vector()
|
||||
: coords({})
|
||||
{}
|
||||
vector() = default;
|
||||
|
||||
explicit vector(std::size_t size) requires (N == dynamic)
|
||||
: coords({.size = size})
|
||||
|
|
@ -40,7 +38,6 @@ namespace psemek::math
|
|||
template <typename ... Args>
|
||||
requires(N != dynamic && sizeof...(Args) == N && detail::all_convertible_to<T, Args...>::value)
|
||||
vector(Args && ... args)
|
||||
: coords({})
|
||||
{
|
||||
auto out = values().begin();
|
||||
((*out++ = args), ...);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue