JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
StaticEvalVisitor.h
Go to the documentation of this file.
1 //
2 // Created by Nico Schäfer on 12/13/17.
3 //
4 
5 #ifndef JODA_STATICEVALVISITOR_H
6 #define JODA_STATICEVALVISITOR_H
7 
8 #include "AndPredicate.h"
9 #include "ComparePredicate.h"
10 #include "EqualizePredicate.h"
11 #include "NegatePredicate.h"
12 #include "OrPredicate.h"
13 #include "PredicateVisitor.h"
14 
15 namespace joda::query {
22  public:
23  void visit(AndPredicate *e) override;
24  void visit(NegatePredicate *e) override;
25  void visit(OrPredicate *e) override;
26  void visit(EqualizePredicate *e) override;
27  void visit(ComparePredicate *e) override;
28  void visit(ValToPredicate *e) override;
29 
33  std::unique_ptr<Predicate> getPred();
34 
35  protected:
36  bool changed = false;
37  std::unique_ptr<Predicate> pred;
38 };
39 } // namespace joda::query
40 
41 #endif // JODA_STATICEVALVISITOR_H
Definition: AndPredicate.h:13
Definition: ComparePredicate.h:25
Definition: EqualizePredicate.h:25
Definition: NegatePredicate.h:15
Definition: OrPredicate.h:15
Definition: PredicateVisitor.h:29
Definition: StaticEvalVisitor.h:21
bool changed
Definition: StaticEvalVisitor.h:36
std::unique_ptr< Predicate > pred
Definition: StaticEvalVisitor.h:37
void visit(AndPredicate *e) override
Definition: StaticEvalVisitor.cpp:15
std::unique_ptr< Predicate > getPred()
Definition: StaticEvalVisitor.cpp:228
Definition: ValToPredicate.h:17
Definition: AttributeStatAggregator.h:12