JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
NegatePredicate.h
Go to the documentation of this file.
1 //
2 // Created by "Nico Schaefer" on 12/9/16.
3 //
4 
5 #ifndef JODA_NEGATEPREDICATE_H
6 #define JODA_NEGATEPREDICATE_H
7 
8 #include "AndPredicate.h"
9 #include "Predicate.h"
10 
11 namespace joda::query {
16  public:
17  explicit NegatePredicate(std::unique_ptr<Predicate> pred);
18  bool check(const RapidJsonDocument &val) override;
19  bool isCompatible(Predicate *other) override;
20  virtual std::string getType() override;
21  void accept(class PredicateVisitor &v) override;
22 
23  void setPredicate(std::unique_ptr<Predicate> pred);
24  void subAccept(class PredicateVisitor &v);
25  const static std::string type;
26 
27  friend class CNFPredicateVisitor;
29  friend class CopyPredicateVisitor;
30  friend class CrackPredicateVisitor;
31 
32  protected:
33  std::unique_ptr<Predicate> pred;
34 };
35 } // namespace joda::query
36 
37 #endif // JODA_NEGATEPREDICATE_H
Definition: RapidJsonDocument.h:22
Definition: CopyPredicateVisitor.h:20
Definition: NegatePredicate.h:15
NegatePredicate(std::unique_ptr< Predicate > pred)
Definition: NegatePredicate.cpp:12
bool isCompatible(Predicate *other) override
Definition: NegatePredicate.cpp:20
static const std::string type
Definition: NegatePredicate.h:25
friend class CNFtoListPredicateVisitor
Definition: NegatePredicate.h:28
std::unique_ptr< Predicate > pred
Definition: NegatePredicate.h:33
virtual std::string getType() override
Definition: NegatePredicate.cpp:25
void accept(class PredicateVisitor &v) override
Definition: NegatePredicate.cpp:31
bool check(const RapidJsonDocument &val) override
Definition: NegatePredicate.cpp:8
void setPredicate(std::unique_ptr< Predicate > pred)
Definition: NegatePredicate.cpp:15
void subAccept(class PredicateVisitor &v)
Definition: NegatePredicate.cpp:36
friend class CrackPredicateVisitor
Definition: NegatePredicate.h:30
friend class CNFPredicateVisitor
Definition: NegatePredicate.h:27
Definition: PredicateVisitor.h:29
Definition: Predicate.h:20
Definition: AttributeStatAggregator.h:12