JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
TypeProvider.h
Go to the documentation of this file.
1 //
2 // Created by Nico Schäfer on 12/7/17.
3 //
4 
5 #ifndef JODA_TYPEPROVIDER_H
6 #define JODA_TYPEPROVIDER_H
7 
8 #include "IValueProvider.h"
9 namespace joda::query {
14  public:
15  explicit TypeProvider(
16  std::vector<std::unique_ptr<IValueProvider>> &&parameters);
17  std::unique_ptr<IValueProvider> duplicate() const override;
18 
19  bool isConst() const override;
20 
22  RJMemoryPoolAlloc &alloc) const override;
23  const RJValue *getValue(const RapidJsonDocument &json,
24  RJMemoryPoolAlloc &alloc) const override;
25  std::string getName() const override;
26  IValueType getReturnType() const override;
27 
29 };
30 } // namespace joda::query
31 
32 #endif // JODA_TYPEPROVIDER_H
#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
Definition: TypeProvider.h:13
RJValue getAtomValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: TypeProvider.cpp:14
std::unique_ptr< IValueProvider > duplicate() const override
Definition: TypeProvider.cpp:8
TypeProvider(std::vector< std::unique_ptr< IValueProvider >> &&parameters)
Definition: TypeProvider.cpp:70
bool isConst() const override
Definition: TypeProvider.cpp:12
IValueType getReturnType() const override
Definition: TypeProvider.cpp:66
const RJValue * getValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: TypeProvider.cpp:58
std::string getName() const override
Definition: TypeProvider.cpp:64
Definition: AttributeStatAggregator.h:12
IValueType
Definition: IValueProvider.h:33