25 #ifndef VISIONCPP_INCLUDE_FRAMEWORK_EXPR_CONVERTOR_MAKE_PLACE_HOLDER_EXPR_HPP_
26 #define VISIONCPP_INCLUDE_FRAMEWORK_EXPR_CONVERTOR_MAKE_PLACE_HOLDER_EXPR_HPP_
32 template <
typename RHS,
size_t LVL,
size_t N>
41 template <
typename Expr,
size_t N>
45 typename Expr::RHSExpr, N>
::Type;
46 using Type =
typename Expr::template ExprExchange<RHSPlaceHolderType>;
50 template <
typename Expr,
size_t N>
52 static constexpr
size_t RHSLeafCount =
57 typename Expr::LHSExpr,
61 typename Expr::RHSExpr, N>
::Type;
static constexpr size_t Unary
static constexpr size_t Binary
is used to count the total number of leafNode in the expression tree.
the definition is in LeafNode.
typename MakePlaceHolderExprHelper< Expr::RHSExpr::ND_Category, typename Expr::RHSExpr, N >::Type RHSPlaceHolderType
typename MakePlaceHolderExprHelper< Expr::LHSExpr::ND_Category, typename Expr::LHSExpr, N - RHSLeafCount >::Type LHSPlaceHolderType
typename Expr::template ExprExchange< LHSPlaceHolderType, RHSPlaceHolderType > Type
typename MakePlaceHolderExprHelper< Expr::RHSExpr::ND_Category, typename Expr::RHSExpr, N >::Type RHSPlaceHolderType
typename Expr::template ExprExchange< RHSPlaceHolderType > Type
it is used to create the PlaceHolder expression.