First step toward the generalization of evaluators to triangular, sparse and other fancyness.

Remove product_tag template parameter to Product.
This commit is contained in:
Gael Guennebaud
2013-11-29 17:50:59 +01:00
parent fb6e32a62f
commit c15c65990f
5 changed files with 109 additions and 36 deletions

View File

@@ -94,10 +94,7 @@ 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 Option = DefaultProduct> class Product;
template<typename Lhs, typename Rhs, int Mode> class GeneralProduct; // TODO deprecated
template<typename Lhs, typename Rhs, int NestingFlags> class CoeffBasedProduct; // TODO deprecated