Describe C++ types at compile time for serialization (see Reflection). More...
Classes | |
| struct | ArrayWithSize |
| A constexpr array. | |
| struct | ExtendedStructTypeInfo |
| Visit all struct members to gather sum of their sizes (helper for IsPacked). | |
| struct | ExtendedTypeInfo |
Class template used to check if a given type IsPacked property is true at compile time. | |
| struct | ExtendedTypeInfo< T, typename SC::TypeTraits::EnableIf< IsPrimitive< T >::value >::type > |
| struct | ExtendedTypeInfo< T[N]> |
| struct | FlatSchemaBuilder |
| A schema builder that doesn't build any virtual table. | |
| struct | IsPrimitive |
| Checks if a given type is primitive. | |
| struct | IsStruct |
| struct | Reflect |
| Basic class template that must be partially specialized for each type. | |
| struct | Reflect< bool > |
| struct | Reflect< char > |
| struct | Reflect< double > |
| struct | Reflect< float > |
| struct | Reflect< int16_t > |
| struct | Reflect< int32_t > |
| struct | Reflect< int64_t > |
| struct | Reflect< int8_t > |
| struct | Reflect< T[N]> |
| struct | Reflect< uint16_t > |
| struct | Reflect< uint32_t > |
| struct | Reflect< uint64_t > |
| struct | Reflect< uint8_t > |
| struct | ReflectPrimitive |
| Base struct for all primitive types. | |
| struct | ReflectStruct |
| struct | SchemaBuilder |
| Common code for derived class to create a SchemaBuilder suitable for SC::Reflection::SchemaCompiler. | |
| struct | SchemaCompiler |
| Creates a schema linking a series of SchemaType. | |
| struct | SchemaType |
| Holds together a TypeInfo, a StringView and a type-erased builder function pointer. | |
| struct | Sv |
| A minimal ASCII StringView with shortened name to be used in TypeToString. | |
| struct | TypeInfo |
| [reflectionSnippet3] | |
| struct | TypeToString |
| Strips down class name produced by ClNm to reduce binary size (from C++17 going forward) | |
| struct | VectorArrayVTable |
| struct | WritableRange |
| A writable span of objects. | |
Typedefs | |
| using | TypeStringView = Sv |
| using | Schema = Reflection::SchemaCompiler<FlatSchemaBuilder> |
| Default schema not building any virtual table. | |
Enumerations | |
| enum class | TypeCategory : uint8_t { TypeCategory::TypeInvalid = 0 , TypeCategory::TypeBOOL = 1 , TypeCategory::TypeUINT8 = 2 , TypeCategory::TypeUINT16 = 3 , TypeCategory::TypeUINT32 = 4 , TypeCategory::TypeUINT64 = 5 , TypeCategory::TypeINT8 = 6 , TypeCategory::TypeINT16 = 7 , TypeCategory::TypeINT32 = 8 , TypeCategory::TypeINT64 = 9 , TypeCategory::TypeFLOAT32 = 10 , TypeCategory::TypeDOUBLE64 = 11 , TypeCategory::TypeStruct = 12 , TypeCategory::TypeArray = 13 , TypeCategory::TypeVector = 14 } |
| Enumeration of possible category types recognized by Reflection. More... | |
Describe C++ types at compile time for serialization (see Reflection).