diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-06-19 17:25:13 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-06-19 17:25:13 +0200 |
commit | a5a7b68b762242022b75b4c816a6501aae112990 (patch) | |
tree | 989ac862b0fbf72c716c70a96542c49d44d4575c /Eigen/src/Core/util | |
parent | 6fc54382058350a4247989f82f3ad1af1ba41d7d (diff) |
Fix ambiguous instanciation using clean class-level SFINAE in product_evaluator
Diffstat (limited to 'Eigen/src/Core/util')
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index c287c1023..ba75d25af 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -147,6 +147,9 @@ template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int Supers=Dynami namespace internal { template<typename Lhs, typename Rhs> struct product_type; + +template<bool> struct EnableIf; + /** \internal * \class product_evaluator * Products need their own evaluator with more template arguments allowing for @@ -157,7 +160,8 @@ template< typename T, typename LhsShape = typename evaluator_traits<typename T::Lhs>::Shape, typename RhsShape = typename evaluator_traits<typename T::Rhs>::Shape, typename LhsScalar = typename traits<typename T::Lhs>::Scalar, - typename RhsScalar = typename traits<typename T::Rhs>::Scalar + typename RhsScalar = typename traits<typename T::Rhs>::Scalar, + typename = EnableIf<true> // extra template parameter for SFINAE-based specialization > struct product_evaluator; } |