Reflection for RapidJSON
0.0.17
Reflection for serializing/deserializing with RapidJSON
Toggle main menu visibility
Loading...
Searching...
No Matches
binaryserializationcodegenerator.h
Go to the documentation of this file.
1
#ifndef REFLECTIVE_RAPIDJSON_CODE_BINARY_SERIALIZATION_GENERATOR_H
2
#define REFLECTIVE_RAPIDJSON_CODE_BINARY_SERIALIZATION_GENERATOR_H
3
4
#include "
./serializationcodegenerator.h
"
5
6
#include <c++utilities/application/argumentparser.h>
7
8
namespace
ReflectiveRapidJSON
{
9
14
class
BinarySerializationCodeGenerator
:
public
SerializationCodeGenerator
{
15
public
:
16
struct
Options
{
17
Options
();
18
Options
(
const
Options
&other) =
delete
;
19
void
appendTo
(CppUtilities::Argument *arg);
20
21
CppUtilities::ConfigValueArgument
additionalClassesArg
;
22
CppUtilities::ConfigValueArgument
visibilityArg
;
23
};
24
25
BinarySerializationCodeGenerator
(
CodeFactory
&
factory
,
const
Options
&options);
26
27
void
generate
(std::ostream &os)
const override
;
28
29
protected
:
30
void
computeRelevantClass
(
RelevantClass
&possiblyRelevantClass)
const override
;
31
32
const
Options
&
m_options
;
33
};
34
35
inline
void
BinarySerializationCodeGenerator::Options::appendTo
(CppUtilities::Argument *arg)
36
{
37
arg->addSubArgument(&
additionalClassesArg
);
38
arg->addSubArgument(&
visibilityArg
);
39
}
40
41
}
// namespace ReflectiveRapidJSON
42
43
#endif
// REFLECTIVE_RAPIDJSON_CODE_BINARY_SERIALIZATION_GENERATOR_H
ReflectiveRapidJSON::BinarySerializationCodeGenerator::computeRelevantClass
void computeRelevantClass(RelevantClass &possiblyRelevantClass) const override
Checks whether possiblyRelevantClass is actually relevant.
Definition
binaryserializationcodegenerator.cpp:45
ReflectiveRapidJSON::BinarySerializationCodeGenerator::generate
void generate(std::ostream &os) const override
Generates pull() and push() helper functions in the ReflectiveRapidJSON::BinaryReflector namespace fo...
Definition
binaryserializationcodegenerator.cpp:195
ReflectiveRapidJSON::BinarySerializationCodeGenerator::m_options
const Options & m_options
Definition
binaryserializationcodegenerator.h:32
ReflectiveRapidJSON::BinarySerializationCodeGenerator::BinarySerializationCodeGenerator
BinarySerializationCodeGenerator(CodeFactory &factory, const Options &options)
Definition
binaryserializationcodegenerator.cpp:34
ReflectiveRapidJSON::CodeFactory
The CodeFactory class produces additional (reflection) code for a specified list of C++ source files.
Definition
codefactory.h:27
ReflectiveRapidJSON::CodeGenerator::factory
CodeFactory & factory() const
Definition
codegenerator.h:49
ReflectiveRapidJSON::SerializationCodeGenerator::SerializationCodeGenerator
SerializationCodeGenerator(CodeFactory &factory)
Definition
serializationcodegenerator.h:55
ReflectiveRapidJSON
Definition
codegenerator.h:15
serializationcodegenerator.h
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options
Definition
binaryserializationcodegenerator.h:16
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options::Options
Options(const Options &other)=delete
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options::Options
Options()
Initializes the CLI arguments which are specific to the BinarySerializationCodeGenerator.
Definition
binaryserializationcodegenerator.cpp:25
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options::visibilityArg
CppUtilities::ConfigValueArgument visibilityArg
Definition
binaryserializationcodegenerator.h:22
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options::appendTo
void appendTo(CppUtilities::Argument *arg)
Definition
binaryserializationcodegenerator.h:35
ReflectiveRapidJSON::BinarySerializationCodeGenerator::Options::additionalClassesArg
CppUtilities::ConfigValueArgument additionalClassesArg
Definition
binaryserializationcodegenerator.h:21
ReflectiveRapidJSON::SerializationCodeGenerator::RelevantClass
Definition
serializationcodegenerator.h:21
Generated on
for Reflection for RapidJSON by
1.18.0