VHISTlib
1.84.0.3018
|
00001 /* $HEADERS 00002 $Id: expressiontreenode.h 2168 2011-05-30 09:09:54Z ahuesgen $ 00003 */ 00004 00005 #ifndef EXPRESSIONTREENODE_H 00006 #define EXPRESSIONTREENODE_H 00007 00008 #include <QList> 00009 #include <QSet> 00010 #include <QString> 00011 00012 #include <QSharedPointer> 00013 #include <QtDebug> 00014 00015 #include "../shared/misc_defines.h" 00016 #include "expressionvalue.h" 00017 00018 namespace vhist 00019 { 00020 00021 class ExpressionTreeNode; 00022 00023 typedef QSharedPointer<ExpressionTreeNode> SPExpressionTreeNode; 00024 00025 class ExpressionTreeNode 00026 { 00027 public: 00028 ExpressionTreeNode(); 00029 SPExpressionTreeNode cloneTree(); 00030 00031 public: 00032 ExpressionValue m_value; 00033 QSet<QString> m_variables; 00034 QList<SPExpressionTreeNode> m_children; 00035 QString m_originalText; 00036 int m_pos; 00037 }; 00038 00039 typedef QList<SPExpressionTreeNode> ExpressionTrees; 00040 00041 } 00042 00043 QDebug operator<<(QDebug dbg, vhist::SPExpressionTreeNode v); 00044 00045 #endif // EXPRESSIONTREENODE_H