7 #ifndef JODA_ATOMPROVIDER_H
8 #define JODA_ATOMPROVIDER_H
10 #define JODA_TRUE_STRING "true"
11 #define JODA_FALSE_STRING "false"
13 #include <rapidjson/fwd.h>
29 std::unique_ptr<IValueProvider>
duplicate()
const override {
30 return std::make_unique<AtomProvider<T>>(
val);
34 bool isConst()
const override {
return true; };
40 assert(!
isAtom() &&
"Did not check for atom before calling");
rapidjson::MemoryPoolAllocator< RJBaseAlloc > RJMemoryPoolAlloc
Definition: RJFwd.h:26
rapidjson::GenericValue< RJChar, RJMemoryPoolAlloc > RJValue
Definition: RJFwd.h:29
Definition: RapidJsonDocument.h:22
Definition: AtomProvider.h:22
RJValue getAtomValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
const RJValue * getValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: AtomProvider.h:38
std::string toString() const override
joda::query::IValueType getReturnType() const override
T val
Definition: AtomProvider.h:48
std::unique_ptr< IValueProvider > duplicate() const override
Definition: AtomProvider.h:29
AtomProvider(T val)
Definition: AtomProvider.h:24
std::string getName() const override
Definition: AtomProvider.h:95
bool isConst() const override
Definition: AtomProvider.h:34
Definition: IValueProvider.h:143
virtual bool isAtom() const
Definition: IValueProvider.h:215
Definition: AttributeStatAggregator.h:12
AtomProvider< int64_t > Int64Provider
Definition: AtomProvider.h:57
AtomProvider< u_int64_t > UInt64Provider
Definition: AtomProvider.h:61
AtomProvider< double > DoubleProvider
Definition: AtomProvider.h:53
AtomProvider< std::string > StringProvider
Definition: AtomProvider.h:73
AtomProvider< bool > BoolProvider
Definition: AtomProvider.h:69
IValueType
Definition: IValueProvider.h:33