Reflection for RapidJSON 0.0.17
Reflection for serializing/deserializing with RapidJSON
Loading...
Searching...
No Matches
frontendaction.h
Go to the documentation of this file.
1#ifndef REFLECTIVE_RAPIDJSON_FRONTEND_ACTION_H
2#define REFLECTIVE_RAPIDJSON_FRONTEND_ACTION_H
4
5#include <clang/Frontend/FrontendAction.h>
6
7namespace ReflectiveRapidJSON {
8
9class CodeFactory;
10
14class FrontendAction : public clang::ASTFrontendAction {
15public:
17 bool hasCodeCompletionSupport() const override;
18
19protected:
20 REFLECTIVE_RAPIDJSON_MAYBE_UNIQUE(clang::ASTConsumer)
21 CreateASTConsumer(clang::CompilerInstance &compilerInstance, llvm::StringRef inputFile) override;
22
23private:
24 CodeFactory &m_factory;
25};
26
28 : m_factory(factory)
29{
30}
31
32} // namespace ReflectiveRapidJSON
33
34#endif // REFLECTIVE_RAPIDJSON_FRONTEND_ACTION_H
#define REFLECTIVE_RAPIDJSON_MAYBE_UNIQUE(t)
The REFLECTIVE_RAPIDJSON_MAYBE_UNIQUE macro either expands to a std::unique_ptr or a raw pointer depe...
The CodeFactory class produces additional (reflection) code for a specified list of C++ source files.
Definition codefactory.h:27
CreateASTConsumer(clang::CompilerInstance &compilerInstance, llvm::StringRef inputFile) override
FrontendAction(CodeFactory &factory)
bool hasCodeCompletionSupport() const override