JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
ValueProviderProjector.h
Go to the documentation of this file.
1 //
2 // Created by Nico Schäfer on 12/6/17.
3 //
4 
5 #ifndef JODA_VALUEPROVIDERPROJECTOR_H
6 #define JODA_VALUEPROVIDERPROJECTOR_H
7 
9 #include "../../../../../values/include/joda/query/values/IValueProvider.h"
10 #include "IProjector.h"
11 
12 namespace joda::query {
18  public:
19  ValueProviderProjector(const std::string &to,
20  std::unique_ptr<IValueProvider> &&valprov);
21  std::string getType() override;
22  std::string toString() override;
23  std::vector<std::string> getMaterializeAttributes() const override;
24 
25  protected:
26  RJValue getVal(const RapidJsonDocument &json,
27  RJMemoryPoolAlloc &alloc) override;
28  std::unique_ptr<IValueProvider> valprov;
29  static const std::string type;
31 };
32 } // namespace joda::query
33 
34 #endif // JODA_VALUEPROVIDERPROJECTOR_H
rapidjson::MemoryPoolAllocator< RJBaseAlloc > RJMemoryPoolAlloc
Definition: RJFwd.h:26
rapidjson::GenericValue< RJChar, RJMemoryPoolAlloc > RJValue
Definition: RJFwd.h:29
Definition: RapidJsonDocument.h:22
Definition: IProjector.h:15
Definition: ValueAccepter.h:16
Definition: ValueProviderProjector.h:17
static const std::string type
Definition: ValueProviderProjector.h:29
std::unique_ptr< IValueProvider > valprov
Definition: ValueProviderProjector.h:28
RJValue getVal(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) override
Definition: ValueProviderProjector.cpp:16
ValueAccepter accepter
Definition: ValueProviderProjector.h:30
std::string getType() override
Definition: ValueProviderProjector.cpp:14
std::string toString() override
Definition: ValueProviderProjector.cpp:75
std::vector< std::string > getMaterializeAttributes() const override
Definition: ValueProviderProjector.cpp:80
ValueProviderProjector(const std::string &to, std::unique_ptr< IValueProvider > &&valprov)
Definition: ValueProviderProjector.cpp:7
Definition: AttributeStatAggregator.h:12