VisionCpp  0.0.1
Classes | Namespaces | Functions
executor_subexpr_if_needed.hpp File Reference

This file contains required classes for break an expression tree into subexpression trees for particular nodes when it is needed. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  visioncpp::internal::SubExprRes< LC, LR, LCT, LRT, LVL, Expr, DeviceT >
 The definition is in SubExprRes file. More...
 
struct  visioncpp::internal::SubExprRes< LC, LR, LCT, LRT, LVL1, internal::LeafNode< RHS, LVL2 >, DeviceT >
 specialisation of the SubExprRes when it is a LeafNode. More...
 
struct  visioncpp::internal::ParentForcedExecute< true, Expr, DeviceT >
 specialisation of ParentForcedExecute when the condition is true More...
 
struct  visioncpp::internal::ParentForcedExecute< false, Expr, DeviceT >
 specialisation of ParentForcedExecute when the condition is false More...
 
struct  visioncpp::internal::IfExprExecNeeded< false, ParentConds, internal::expr_category::Unary, Expr, DeviceT >
 the specialisation of the IfExprExecNeeded when the decision for executing the children of the expression is false and the expression category is unary. More...
 
struct  visioncpp::internal::IfExprExecNeeded< true, ParentConds, internal::expr_category::Unary, Expr, DeviceT >
 the specialisation of the IfExprExecNeeded when the decision for executing the children of the expression is true and the expression category is unary. More...
 
struct  visioncpp::internal::IfExprExecNeeded< false, ParentConds, internal::expr_category::Binary, Expr, DeviceT >
 the specialisation of the IfExprExecNeeded when the decision for executing the children of the expression is false and the expression category is binary. More...
 
struct  visioncpp::internal::IfExprExecNeeded< true, ParentConds, internal::expr_category::Binary, Expr, DeviceT >
 the specialisation of the IfExprExecNeeded when the decision for executing the children of the expression is true and the expression category is binary. More...
 

Namespaces

 visioncpp
 VisionCpp namespace.
 
 visioncpp::internal
 Internal implementations.
 

Functions

template<size_t LC, size_t LR, size_t LCT, size_t LRT, size_t LVL, typename Expr , typename DeviceT >
auto visioncpp::internal::get_subexpr_executor (Expr &expr, const DeviceT &dev) -> typename internal::SubExprRes< LC, LR, LCT, LRT, LVL, Expr, DeviceT >::Type
 template deduction for SubExprRes. More...
 
template<size_t LC, size_t LR, size_t LCT, size_t LRT, typename Expr , typename DeviceT >
auto visioncpp::internal::get_subexpr_executor (Expr &expr, const DeviceT &dev) -> typename internal::SubExprRes< LC, LR, LCT, LRT, 1+Expr::Level, Expr, DeviceT >::Type
 
template<bool Conds, bool ParentConds, typename Expr , size_t LC, size_t LR, size_t LCT, size_t LRT, typename NestedExpr , typename DeviceT >
auto visioncpp::internal::execute_expr (NestedExpr nestedExpr, const DeviceT &dev) -> decltype(internal::IfExprExecNeeded< Conds, ParentConds, internal::expr_category::Unary, Expr, DeviceT >::template execute_expr< LC, LR, LCT, LRT >(nestedExpr, dev))
 template deduction for IfExprExecNeeded when the expression category is unary More...
 
template<bool Conds, bool ParentConds, typename Expr , size_t LC, size_t LR, size_t LCT, size_t LRT, typename LHSExpr , typename RHSExpr , typename DeviceT >
auto visioncpp::internal::execute_expr (LHSExpr lhsExpr, RHSExpr rhsExpr, const DeviceT &dev) -> decltype(internal::IfExprExecNeeded< Conds, ParentConds, internal::expr_category::Binary, Expr, DeviceT >::template execute_expr< LC, LR, LCT, LRT >(lhsExpr, rhsExpr, dev))
 template deduction for IfExprExecNeeded when the expression category is Binary More...
 

Detailed Description

This file contains required classes for break an expression tree into subexpression trees for particular nodes when it is needed.

Definition in file executor_subexpr_if_needed.hpp.