#include <ExpTmp.h>
Public Types | |
typedef IF< IsRootNode==int(true), TarConType, typename Exp::temp_type >::RET | temp_type |
The container type of this temporary. | |
typedef IF< IsLLeaf, LeafeNode< typename Exp::left_type >, typename IF< IsLUna, TmpAnalyserUnaNode< typename Exp::left_type, TmpList, TarConType, ForceUseTmp, false, LNeedTmp >, TmpAnalyserBinNode< typename Exp::left_type, TmpList, TarConType, ForceUseTmp, false, LNeedTmp > >::RET >::RET | left_child |
The left child node. | |
typedef IF< IsRLeaf, LeafeNode< typename Exp::right_type >, typename IF< IsRUna, TmpAnalyserUnaNode< typename Exp::right_type, lTL, TarConType, ForceUseTmp, false, RNeedTmp >, TmpAnalyserBinNode< typename Exp::right_type, lTL, TarConType, ForceUseTmp, false, RNeedTmp > >::RET >::RET | right_child |
The right child node. | |
typedef IF< NeedTmp_, temp_type, Mat< typename RefillBinExp< typename Exp::rep_type, typename left_child::node_exp::rep_type, typename right_child::node_exp::rep_type >::RET, EmptyErrorChecker > >::RET | node_exp |
typedef IF< NeedTmp_, RRed_list, rTL >::RET | tmp_list |
The temporary list computed down to this node from the root. | |
enum | { Forced = ForceUseTmp::RET, IsLinearExp = Exp::IsLinear , IsLBin = IsDerivedFrom<typename Exp::left_type , IsRBin = IsDerivedFrom<typename Exp::right_type , IsLUna = IsDerivedFrom<typename Exp::left_type , IsRUna = IsDerivedFrom<typename Exp::right_type , LNeedTmp, RNeedTmp, IsLLeaf, IsRLeaf, IsDynamicTmp = (Exp::ROWS == 0) || (Exp::COLS == 0) } |
Static Public Member Functions | |
template<class Tag> | |
static void | print (Tag) |
Print information, static debugging. | |
template<class TInst, class TargetCon, class TarConIndex> | |
static void | ass_root (const Exp &exp, TInst &tmpInst, TargetCon &tCon, TarConIndex) |
The root function that will called directly from parseExp_inner. | |
getNodeObj | |
Create a node object | |
template<class TInst, class TargetCon, class TarConIndex> | |
static const node_exp & | getNodeObj (const Exp &exp, TInst &tmpInst, TargetCon &tCon, Int2Type< 0+2 *1 >, TarConIndex) |
Create a binary tmp node. | |
template<class TInst, class TargetCon, class TarConIndex> | |
static const node_exp | getNodeObj (const Exp &exp, TInst &tmpInst, TargetCon &tCon, Int2Type< 0+2 *0 >, TarConIndex) |
Create a binary node. |
TmpAnalyserBinNode is the main class that do the temporary analysis on an expression. It represent a binary node in the expression tree.
|
The expression type of this node after analysis
|
|