#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< IsCLeaf, LeafeNode< typename Exp::super_type >, typename IF< IsCUna, TmpAnalyserUnaNode< typename Exp::super_type, TmpList, TarConType, ForceUseTmp >, TmpAnalyserBinNode< typename Exp::super_type, TmpList, TarConType, ForceUseTmp > >::RET >::RET | child |
| The child node. | |
| typedef IF< NeedTmp_, temp_type, Mat< typename RefillUnaExp< typename Exp::rep_type, typename child::node_exp::rep_type, typename Exp::extra_param_type >::RET, EmptyErrorChecker > >::RET | node_exp |
|
typedef IF< NeedTmp_, CRed_list, cTL >::RET | tmp_list |
| The temporary list computed down to this node from the root. | |
| enum | { IsCBin = IsDerivedFrom<typename Exp::super_type , IsCUna = IsDerivedFrom<typename Exp::super_type , IsCLeaf = (!IsCBin && !IsCUna), CNeedTmp = false, 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 an unary 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 an unary tmp node. | |
TmpAnalyserUnaNode is the main class that do the temporary analysis on an expression. It represent a unary node in the expression tree.
|
|||||
|
The expression type of this node after analysis
|
|
|||||
|
|
1.4.6-NO