diff --git a/libs/math/include/psemek/math/detail/array.hpp b/libs/math/include/psemek/math/detail/array.hpp index fd835628..73a7704e 100644 --- a/libs/math/include/psemek/math/detail/array.hpp +++ b/libs/math/include/psemek/math/detail/array.hpp @@ -43,6 +43,8 @@ namespace psemek::math::detail T data[N]; + type() = default; + type(dynamic_dimensions){} dynamic_dimensions 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 {}; } diff --git a/libs/math/include/psemek/math/point.hpp b/libs/math/include/psemek/math/point.hpp index d1dc97c1..afbc199f 100644 --- a/libs/math/include/psemek/math/point.hpp +++ b/libs/math/include/psemek/math/point.hpp @@ -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 requires(N != dynamic && sizeof...(Args) == N && detail::all_convertible_to::value) point(Args && ... args) - : coords({}) { auto out = values().begin(); ((*out++ = args), ...); diff --git a/libs/math/include/psemek/math/vector.hpp b/libs/math/include/psemek/math/vector.hpp index 977f244a..d0319e5f 100644 --- a/libs/math/include/psemek/math/vector.hpp +++ b/libs/math/include/psemek/math/vector.hpp @@ -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 requires(N != dynamic && sizeof...(Args) == N && detail::all_convertible_to::value) vector(Args && ... args) - : coords({}) { auto out = values().begin(); ((*out++ = args), ...);