From 0b25b49d5d01ad830a78d38ad852d8dbeb8250a7 Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Thu, 7 Jan 2016 16:45:26 +0000
Subject: [PATCH] functor expression corrected

---
 AMDiS/src/expressions/functorN_expr.hpp | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/AMDiS/src/expressions/functorN_expr.hpp b/AMDiS/src/expressions/functorN_expr.hpp
index 0a1b3870..63f26732 100644
--- a/AMDiS/src/expressions/functorN_expr.hpp
+++ b/AMDiS/src/expressions/functorN_expr.hpp
@@ -250,7 +250,7 @@ namespace AMDiS
       F f; ///< the functor
       
       template <class... Terms_>
-      FunctionN(F&& f_, Terms_... terms_)
+      FunctionN(F const& f_, Terms_... terms_)
 	: super(terms_...), f(f_) {}
       
       // call f.getDegree() function    
@@ -404,27 +404,27 @@ namespace AMDiS
 
   template<typename F, typename... Terms>
   inline typename result_of::FunctionN<F, Terms...>::type
-  function_(F&& f, Terms... ts) 
+  function_(F const& f, Terms... ts) 
   {
     return expressions::FunctionN<F, typename traits::to_expr<Terms>::to::type...>
-	    (std::forward<F>(f), traits::to_expr<Terms>::to::get(ts)...); 
+	    (f, traits::to_expr<Terms>::to::get(ts)...); 
   }
 
   template<typename F, typename... Terms>
   inline typename result_of::FunctionN<F, Terms...>::type
-  func(F&& f, Terms... ts) 
+  func(F const& f, Terms... ts) 
   {
     return expressions::FunctionN<F, typename traits::to_expr<Terms>::to::type...>
-	    (std::forward<F>(f), traits::to_expr<Terms>::to::get(ts)...); 
+	    (f, traits::to_expr<Terms>::to::get(ts)...); 
   }
 
   template<typename F, typename Term0, typename... Terms>
   inline typename result_of::FunctionN<F, Term0, Terms...>::type
-  eval(F&& f, Term0 t0, Terms... ts) 
+  eval(F const& f, Term0 t0, Terms... ts) 
   {
     return expressions::FunctionN<F, typename traits::to_expr<Term0>::to::type, 
 				     typename traits::to_expr<Terms>::to::type...>
-      (std::forward<F>(f), traits::to_expr<Term0>::to::get(t0), traits::to_expr<Terms>::to::get(ts)...); 
+      (f, traits::to_expr<Term0>::to::get(t0), traits::to_expr<Terms>::to::get(ts)...); 
   }
 
 
@@ -436,16 +436,16 @@ namespace AMDiS
 
   template <int Degree, class F>
   inline expressions::DegreeWrapper<Degree, F>
-  deg(F&& fct)
+  deg(F const& fct)
   {
-    return expressions::DegreeWrapper<Degree, F>(std::forward<F>(fct));
+    return expressions::DegreeWrapper<Degree, F>(fct);
   }
   
   template <class F, class DegF>
   inline expressions::DegreeWrapper2<F, DegF>
-  deg(F&& fct, DegF&& degfct)
+  deg(F const& fct, DegF const& degfct)
   {
-    return expressions::DegreeWrapper2<F, DegF>(std::forward<F>(fct), std::forward<DegF>(degfct));
+    return expressions::DegreeWrapper2<F, DegF>(fct, degfct);
   }
   
 } // end namespace AMDiS
-- 
GitLab