RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
FilterExpressionVisitor.h
1/***********************************************************************
2 * The rDock program was developed from 1998 - 2006 by the software team
3 * at RiboTargets (subsequently Vernalis (R&D) Ltd).
4 * In 2006, the software was licensed to the University of York for
5 * maintenance and distribution.
6 * In 2012, Vernalis and the University of York agreed to release the
7 * program as Open Source software.
8 * This version is licensed under GNU-LGPL version 3.0 with support from
9 * the University of Barcelona.
10 * http://rdock.sourceforge.net/
11 ***********************************************************************/
12
13// Visitors will be created to
14// execute the functions represented by the expressions, print them etc.
15
16#ifndef _RBT_FILTEREXPRESSIONVISITOR_H_
17#define _RBT_FILTEREXPRESSIONVISITOR_H_
18
19#include "rxdock/Context.h"
20#include "rxdock/FilterExpression.h"
21
22namespace rxdock {
23
24class FilterVbleExp;
25class FilterAddExp;
26class FilterSubExp;
27class FilterMulExp;
28class FilterDivExp;
29class FilterAndExp;
30class FilterLogExp;
31class FilterExpExp;
32class FilterIfExp;
33
35public:
36 virtual void VisitVbleExp(FilterVbleExp *) = 0;
37 virtual void VisitAddExp(FilterAddExp *) = 0;
38 virtual void VisitSubExp(FilterSubExp *) = 0;
39 virtual void VisitMulExp(FilterMulExp *) = 0;
40 virtual void VisitDivExp(FilterDivExp *) = 0;
41 virtual void VisitAndExp(FilterAndExp *) = 0;
42 virtual void VisitLogExp(FilterLogExp *) = 0;
43 virtual void VisitExpExp(FilterExpExp *) = 0;
44 virtual void VisitIfExp(FilterIfExp *) = 0;
46 // Destructor
49
51 // Protected methods
53
54protected:
55 FilterExpressionVisitor(); // Default constructor disabled
56};
57
59public:
62 virtual void VisitVbleExp(FilterVbleExp *);
63 virtual void VisitAddExp(FilterAddExp *);
64 virtual void VisitSubExp(FilterSubExp *);
65 virtual void VisitMulExp(FilterMulExp *);
66 virtual void VisitDivExp(FilterDivExp *);
67 virtual void VisitAndExp(FilterAndExp *);
68 virtual void VisitLogExp(FilterLogExp *);
69 virtual void VisitExpExp(FilterExpExp *);
70 virtual void VisitIfExp(FilterIfExp *);
71
72private:
73 ContextPtr contextp;
74 std::ostringstream strbuf;
75};
76
78public:
81 virtual void VisitVbleExp(FilterVbleExp *);
82 virtual void VisitAddExp(FilterAddExp *);
83 virtual void VisitSubExp(FilterSubExp *);
84 virtual void VisitMulExp(FilterMulExp *);
85 virtual void VisitDivExp(FilterDivExp *);
86 virtual void VisitAndExp(FilterAndExp *);
87 virtual void VisitLogExp(FilterLogExp *);
88 virtual void VisitExpExp(FilterExpExp *);
89 virtual void VisitIfExp(FilterIfExp *);
90
91private:
92 ContextPtr contextp;
93 std::ostringstream strbuf;
94};
95
97public:
99 virtual void VisitVbleExp(FilterVbleExp *);
100 virtual void VisitAddExp(FilterAddExp *);
101 virtual void VisitSubExp(FilterSubExp *);
102 virtual void VisitMulExp(FilterMulExp *);
103 virtual void VisitDivExp(FilterDivExp *);
104 virtual void VisitAndExp(FilterAndExp *);
105 virtual void VisitLogExp(FilterLogExp *);
106 virtual void VisitExpExp(FilterExpExp *);
107 virtual void VisitIfExp(FilterIfExp *);
108
109private:
110 ContextPtr contextp;
111};
112
113} // namespace rxdock
114
115#endif
Definition FilterExpressionVisitor.h:96
Definition FilterExpression.h:128
Definition FilterExpression.h:224
Definition FilterExpression.h:200
Definition FilterExpression.h:107
Definition FilterExpressionVisitor.h:34
Definition FilterExpression.h:248
Definition FilterExpression.h:86
Definition FilterExpression.h:176
Definition FilterExpression.h:152
Definition FilterExpression.h:70
Definition FilterExpressionVisitor.h:77
Definition FilterExpressionVisitor.h:58