Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
logicalexpressionparser.h
1 #ifndef LOGICALEXPRESSIONPARSER_H
2 #define LOGICALEXPRESSIONPARSER_H
3 
4 namespace Ilwis {
5 
7 public:
8  LogicalExpressionPart(const QString& part);
9  QString field() const;
10  LogicalOperator condition() const;
11  QString value() const;
12  IlwisTypes valueType() const;
13  LogicalOperator logicalConnector() const;
14  void logicalConnector(LogicalOperator oper);
15  bool isValid() const;
16 private:
17  QString _field = sUNDEF;
18  LogicalOperator _condition = loNONE;
19  QString _value = sUNDEF;
20  IlwisTypes _vt = itUNKNOWN;
21  LogicalOperator _logicalOper = loNONE;
22 
23 
24 };
25 
27 {
28 public:
29 
31  LogicalExpressionParser(const QString& expr);
32  bool parse(const QString& expr);
33  bool isValid() const;
34  std::vector<LogicalExpressionPart> parts() const;
35 private:
36  std::vector<LogicalExpressionPart> _parts;
37 
38 
39 };
40 }
41 
42 #endif // LOGICALEXPRESSIONPARSER_H