From f0d1424ccc722088a6eafdafb57a7a21b889cdbb Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@cnes.fr>
Date: Tue, 20 Nov 2018 15:35:50 +0100
Subject: [PATCH] ENH: Code review

---
 Modules/Core/Functor/include/otbVariadicAddFunctor.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Modules/Core/Functor/include/otbVariadicAddFunctor.h b/Modules/Core/Functor/include/otbVariadicAddFunctor.h
index 1ab244af33..e98d71dda1 100644
--- a/Modules/Core/Functor/include/otbVariadicAddFunctor.h
+++ b/Modules/Core/Functor/include/otbVariadicAddFunctor.h
@@ -22,6 +22,7 @@
 #define otb_VariadicAddFunctor_h
 
 #include <numeric>
+#include <array>
 
 namespace otb
 {
@@ -37,9 +38,9 @@ template <typename TOut, typename ...TIns> struct VariadicAdd
 {
   auto operator()(TIns... ins) const
   {
-    std::vector<TOut> outVector{static_cast<TOut>(ins)...};
+    std::array<TOut, sizeof...(TIns)> outArray = {{static_cast<TOut>(ins)...}};
 
-    return std::accumulate(outVector.begin(), outVector.end(),0);
+    return std::accumulate(outArray.begin(), outArray.end(),TOut{});
   }
 };
 
-- 
GitLab