5 #ifndef JODA_COMPAREPREDICATE_H
6 #define JODA_COMPAREPREDICATE_H
17 virtual const char *what()
const throw() {
18 return "The given values are not comparable by '<', '<=','>' or '>='";
28 std::unique_ptr<IValueProvider> &&
rhs,
bool greater =
true,
37 std::unique_ptr<Predicate>
duplicate()
const;
40 std::unique_ptr<IValueProvider> &
getLhs();
41 std::unique_ptr<IValueProvider> &
getRhs();
44 std::unique_ptr<IValueProvider>
lhs;
45 std::unique_ptr<IValueProvider>
rhs;
Definition: RapidJsonDocument.h:22
Definition: ComparePredicate.h:25
std::string toString()
Definition: ComparePredicate.cpp:91
std::unique_ptr< IValueProvider > rhs
Definition: ComparePredicate.h:45
std::unique_ptr< IValueProvider > lhs
Definition: ComparePredicate.h:44
std::vector< std::string > getAttributes() const
Definition: ComparePredicate.cpp:103
std::unique_ptr< IValueProvider > & getRhs()
Definition: ComparePredicate.cpp:122
bool check(const RapidJsonDocument &val) override
Definition: ComparePredicate.cpp:19
bool greater
Definition: ComparePredicate.h:46
void accept(class PredicateVisitor &v) override
Definition: ComparePredicate.cpp:87
bool include
Definition: ComparePredicate.h:47
bool isInclude() const
Definition: ComparePredicate.cpp:115
ComparePredicate(std::unique_ptr< IValueProvider > &&lhs, std::unique_ptr< IValueProvider > &&rhs, bool greater=true, bool include=true)
Definition: ComparePredicate.cpp:8
bool isCompatible(Predicate *other) override
Definition: ComparePredicate.cpp:81
std::unique_ptr< IValueProvider > & getLhs()
Definition: ComparePredicate.cpp:118
std::string getType() override
Definition: ComparePredicate.cpp:84
std::unique_ptr< Predicate > duplicate() const
Definition: ComparePredicate.cpp:110
bool isGreater() const
Definition: ComparePredicate.cpp:114
Definition: ComparePredicate.h:16
Definition: PredicateVisitor.h:29
Definition: Predicate.h:20
Definition: AttributeStatAggregator.h:12