🟩 Describe C++ types at compile time for serialization (see Reflection for more details) More...
Classes | |
struct | SC::Reflection::TypeInfo |
[reflectionSnippet3] More... | |
struct | SC::Reflection::ArrayWithSize< T, N > |
A constexpr array. More... | |
struct | SC::Reflection::WritableRange< Type > |
A writable span of objects. More... | |
struct | SC::Reflection::Sv |
A minimal ASCII StringView with shortened name to be used in TypeToString. More... | |
struct | SC::Reflection::TypeToString< T > |
Strips down class name produced by ClNm to reduce binary size (from C++17 going forward) More... | |
struct | SC::Reflection::SchemaCompiler< SchemaBuilder > |
Creates a schema linking a series of SchemaType. More... | |
struct | SC::Reflection::SchemaType< TypeVisitor > |
Holds together a TypeInfo, a StringView and a type-erased builder function pointer. More... | |
struct | SC::Reflection::SchemaBuilder< TypeVisitor > |
Common code for derived class to create a SchemaBuilder suitable for SC::Reflection::SchemaCompiler. More... | |
struct | SC::Reflection::FlatSchemaBuilder |
A schema builder that doesn't build any virtual table. More... | |
Typedefs | |
using | SC::Reflection::TypeStringView = Sv |
using | SC::Reflection::Schema = Reflection::SchemaCompiler< FlatSchemaBuilder > |
Default schema not building any virtual table. More... | |
Enumerations | |
enum class | SC::Reflection::TypeCategory : uint8_t { SC::Reflection::TypeCategory::TypeInvalid = 0 , SC::Reflection::TypeCategory::TypeBOOL = 1 , SC::Reflection::TypeCategory::TypeUINT8 = 2 , SC::Reflection::TypeCategory::TypeUINT16 = 3 , SC::Reflection::TypeCategory::TypeUINT32 = 4 , SC::Reflection::TypeCategory::TypeUINT64 = 5 , SC::Reflection::TypeCategory::TypeINT8 = 6 , SC::Reflection::TypeCategory::TypeINT16 = 7 , SC::Reflection::TypeCategory::TypeINT32 = 8 , SC::Reflection::TypeCategory::TypeINT64 = 9 , SC::Reflection::TypeCategory::TypeFLOAT32 = 10 , SC::Reflection::TypeCategory::TypeDOUBLE64 = 11 , SC::Reflection::TypeCategory::TypeStruct = 12 , SC::Reflection::TypeCategory::TypeArray = 13 , SC::Reflection::TypeCategory::TypeVector = 14 } |
Enumeration of possible category types recognized by Reflection. More... | |
🟩 Describe C++ types at compile time for serialization (see Reflection for more details)
Reflection generates compile time information of fields in a structure or class.
Typically this library is used with one of the serialization libraries ( Serialization Binary or Serialization Text).
constexpr
. using SC::Reflection::Schema = typedef Reflection::SchemaCompiler<FlatSchemaBuilder> |
#include <ReflectionSchemaCompiler.h>
Default schema not building any virtual table.
|
strong |
#include <Reflection.h>
Enumeration of possible category types recognized by Reflection.