JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
RegexProvider.h
Go to the documentation of this file.
1 //
2 // Created by Nico Schäfer on 23/01/18.
3 //
4 
5 #ifndef JODA_REGEXPROVIDER_H
6 #define JODA_REGEXPROVIDER_H
7 
8 #include <regex>
9 
10 #include "IValueProvider.h"
11 
12 namespace joda::query {
17  public:
18  RegexProvider(std::vector<std::unique_ptr<IValueProvider>> &&parameters);
19 
20  std::unique_ptr<IValueProvider> duplicate() const override;
21 
22  bool isConst() const override;
23 
25  RJMemoryPoolAlloc &alloc) const override;
26  const RJValue *getValue(const RapidJsonDocument &json,
27  RJMemoryPoolAlloc &alloc) const override;
28  std::string getName() const override;
29  IValueType getReturnType() const override;
30 
32 
33  private:
34  std::regex regex;
35 };
36 } // namespace joda::query
37 
38 #endif // JODA_REGEXPROVIDER_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: RegexProvider.h:16
bool isConst() const override
Definition: RegexProvider.cpp:8
std::string getName() const override
Definition: RegexProvider.cpp:31
RJValue getAtomValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: RegexProvider.cpp:10
std::unique_ptr< IValueProvider > duplicate() const override
Definition: RegexProvider.cpp:27
RegexProvider(std::vector< std::unique_ptr< IValueProvider >> &&parameters)
Definition: RegexProvider.cpp:37
IValueType getReturnType() const override
Definition: RegexProvider.cpp:33
const RJValue * getValue(const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
Definition: RegexProvider.cpp:20
Definition: AttributeStatAggregator.h:12
IValueType
Definition: IValueProvider.h:33