From 0453d4e15df8d3e277b870b7cc24aad4bab0af2a Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 13 Sep 2020 12:49:34 +0300 Subject: [PATCH] Be more permissive with vector & point constructor argument types & array index types --- libs/geom/include/psemek/geom/point.hpp | 2 +- libs/geom/include/psemek/geom/vector.hpp | 2 +- libs/util/include/psemek/util/array.hpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/geom/include/psemek/geom/point.hpp b/libs/geom/include/psemek/geom/point.hpp index a5308890..eb4fa164 100644 --- a/libs/geom/include/psemek/geom/point.hpp +++ b/libs/geom/include/psemek/geom/point.hpp @@ -24,7 +24,7 @@ namespace psemek::geom template point(Args && ... args) - : coords{ std::forward(args)... } + : coords{ static_cast(std::forward(args))... } { static_assert(sizeof...(Args) == N); } diff --git a/libs/geom/include/psemek/geom/vector.hpp b/libs/geom/include/psemek/geom/vector.hpp index 672ecda5..8287b6ff 100644 --- a/libs/geom/include/psemek/geom/vector.hpp +++ b/libs/geom/include/psemek/geom/vector.hpp @@ -27,7 +27,7 @@ namespace psemek::geom template vector(Args && ... args) - : coords{ std::forward(args)... } + : coords{ static_cast(std::forward(args))... } { static_assert(sizeof...(Args) == N); } diff --git a/libs/util/include/psemek/util/array.hpp b/libs/util/include/psemek/util/array.hpp index 9e9eb65d..44dbbf7b 100644 --- a/libs/util/include/psemek/util/array.hpp +++ b/libs/util/include/psemek/util/array.hpp @@ -215,7 +215,7 @@ namespace psemek::util template T & array::operator()(Ixs ... ixs) { - dims_type dims{ixs...}; + dims_type dims{static_cast(ixs)...}; return (*this)(dims); } @@ -223,7 +223,7 @@ namespace psemek::util template T const & array::operator()(Ixs ... ixs) const { - dims_type dims{ixs...}; + dims_type dims{static_cast(ixs)...}; return (*this)(dims); }