22#ifndef UNSUPPORTED_EIGEN_CXX11_SRC_TENSOR_TENSORSYCL_LEAF_COUNT_HPP
23#define UNSUPPORTED_EIGEN_CXX11_SRC_TENSOR_TENSORSYCL_LEAF_COUNT_HPP
31template <
typename Expr>
34template<
typename... Args>
struct CategoryCount;
36template<>
struct CategoryCount<>
38 static const size_t Count =0;
41template<
typename Arg,
typename... Args>
42struct CategoryCount<Arg,Args...>{
47template <
typename PlainObjectType,
int Options_,
template <
class>
class MakePointer_>
49 static const size_t Count =1;
53template <
typename PlainObjectType,
int Options_,
template <
class>
class MakePointer_>
57template <
template <
class,
class...>
class CategoryExpr,
typename OP,
typename... RHSExpr>
58struct LeafCount<const CategoryExpr<OP, RHSExpr...> >: CategoryCount<RHSExpr...> {};
60template <
template <
class,
class...>
class CategoryExpr,
typename OP,
typename... RHSExpr>
61struct LeafCount<CategoryExpr<OP, RHSExpr...> > :LeafCount<const CategoryExpr<OP, RHSExpr...> >{};
64template <
typename IfExpr,
typename ThenExpr,
typename ElseExpr>
65struct LeafCount<const TensorSelectOp<IfExpr, ThenExpr, ElseExpr> > : CategoryCount<IfExpr, ThenExpr, ElseExpr> {};
67template <
typename IfExpr,
typename ThenExpr,
typename ElseExpr>
68struct LeafCount<TensorSelectOp<IfExpr, ThenExpr, ElseExpr> >:
LeafCount<const TensorSelectOp<IfExpr, ThenExpr, ElseExpr> > {};
72template <
typename LHSExpr,
typename RHSExpr>
77template <
typename LHSExpr,
typename RHSExpr>
81template <
typename Expr>
83 static const size_t Count =1;
87template <
typename Expr>
91template <
typename Expr>
93 static const size_t Count = 1 + CategoryCount<Expr>::Count;
97template <
typename OP,
typename Dim,
typename Expr>
99 static const size_t Count =1;
103template <
typename OP,
typename Dim,
typename Expr>
107template <
typename Expr>
Definition TensorAssign.h:56
Tensor reshaping class.
Definition TensorForcedEval.h:73
A tensor expression mapping an existing array of data.
Definition TensorMap.h:30
Tensor reduction class.
Definition TensorReduction.h:348
Namespace containing all symbols from the Eigen library.
LeafCount used to counting terminal nodes. The total number of leaf nodes is used by MakePlaceHolderE...
Definition TensorSyclLeafCount.h:32