5 #ifndef JODA_ISXBOOLPROVIDER_H
6 #define JODA_ISXBOOLPROVIDER_H
7 #include <rapidjson/fwd.h>
19 template <joda::query::IValueType T>
23 std::vector<std::unique_ptr<IValueProvider>> &¶meters)
33 std::unique_ptr<IValueProvider>
duplicate()
const override {
44 assert(!
isAtom() &&
"Did not check for atom before calling");
#define CREATE_FACTORY(FCLASS)
Definition: IValueProvider.h:20
rapidjson::MemoryPoolAllocator< RJBaseAlloc > RJMemoryPoolAlloc
Definition: RJFwd.h:26
rapidjson::GenericValue< RJChar, RJMemoryPoolAlloc > RJValue
Definition: RJFwd.h:29
Definition: RapidJsonDocument.h:22
Definition: IValueProvider.h:143
virtual bool isAny() const
Definition: IValueProvider.h:214
std::vector< std::unique_ptr< IValueProvider > > params
Definition: IValueProvider.h:373
void checkParamSize(unsigned int expected)
Definition: IValueProvider.cpp:112
virtual bool isAtom() const
Definition: IValueProvider.h:215
std::vector< std::unique_ptr< IValueProvider > > duplicateParameters() const
Definition: IValueProvider.cpp:104
Definition: IsXBoolProvider.h:20
bool consRes
Definition: IsXBoolProvider.h:56
std::unique_ptr< IValueProvider > duplicate() const override
Definition: IsXBoolProvider.h:33
bool cons
Definition: IsXBoolProvider.h:55
const RJValue * getValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: IsXBoolProvider.h:42
std::string getName() const override
bool isConst() const override
Definition: IsXBoolProvider.h:37
joda::query::IValueType getReturnType() const override
Definition: IsXBoolProvider.h:50
RJValue getAtomValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
IsXBoolProvider(std::vector< std::unique_ptr< IValueProvider >> &¶meters)
Definition: IsXBoolProvider.h:22
Definition: AttributeStatAggregator.h:12
IValueType
Definition: IValueProvider.h:33
@ IV_Bool
Definition: IValueProvider.h:36
@ IV_Any
Definition: IValueProvider.h:39