aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/util/ForwardDeclarations.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2013-11-27 17:32:57 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2013-11-27 17:32:57 +0100
commitcc6dd878ee5a80375c587d018c2ae89fc2216dd1 (patch)
tree1169746ded3844399a3af8b1dc54cf82d6a56340 /Eigen/src/Core/util/ForwardDeclarations.h
parentfc6ecebc69dcd11221233216d70746d495b1f29b (diff)
Refactor dense product evaluators
Diffstat (limited to 'Eigen/src/Core/util/ForwardDeclarations.h')
-rw-r--r--Eigen/src/Core/util/ForwardDeclarations.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h
index 0a2144c69..459422524 100644
--- a/Eigen/src/Core/util/ForwardDeclarations.h
+++ b/Eigen/src/Core/util/ForwardDeclarations.h
@@ -87,11 +87,20 @@ template<typename NullaryOp, typename MatrixType> class CwiseNullaryOp;
template<typename UnaryOp, typename MatrixType> class CwiseUnaryOp;
template<typename ViewOp, typename MatrixType> class CwiseUnaryView;
template<typename BinaryOp, typename Lhs, typename Rhs> class CwiseBinaryOp;
-template<typename BinOp, typename Lhs, typename Rhs> class SelfCwiseBinaryOp;
+template<typename BinOp, typename Lhs, typename Rhs> class SelfCwiseBinaryOp; // TODO deprecated
template<typename Derived, typename Lhs, typename Rhs> class ProductBase;
-template<typename Lhs, typename Rhs> class Product;
-template<typename Lhs, typename Rhs, int Mode> class GeneralProduct;
-template<typename Lhs, typename Rhs, int NestingFlags> class CoeffBasedProduct;
+
+namespace internal {
+ template<typename Lhs, typename Rhs> struct product_tag;
+}
+
+template<typename Lhs, typename Rhs,
+ int Option = DefaultProduct,
+ int ProductTag = internal::product_tag<Lhs,Rhs>::ret
+ > class Product;
+
+template<typename Lhs, typename Rhs, int Mode> class GeneralProduct; // TODO deprecated
+template<typename Lhs, typename Rhs, int NestingFlags> class CoeffBasedProduct; // TODO deprecated
template<typename Derived> class DiagonalBase;
template<typename _DiagonalVectorType> class DiagonalWrapper;