Describe C++ types at compile time for serialization (see Reflection). More...
Classes | |
struct | ArrayWithSize |
A constexpr array. More... | |
struct | ExtendedStructTypeInfo |
Visit all struct members to gather sum of their sizes (helper for IsPacked). More... | |
struct | ExtendedTypeInfo |
Class template used to check if a given type IsPacked property is true at compile time. More... | |
struct | ExtendedTypeInfo< SC::Array< T, N > > |
struct | ExtendedTypeInfo< SC::Vector< T > > |
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. More... | |
struct | IsPrimitive |
Checks if a given type is primitive. More... | |
struct | Reflect |
Basic class template that must be partially specialized for each type. More... | |
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< SC::Array< T, N > > |
struct | Reflect< SC::StringEncoding > |
struct | Reflect< SC::Vector< T > > |
struct | Reflect< T[N]> |
struct | Reflect< uint16_t > |
struct | Reflect< uint32_t > |
struct | Reflect< uint64_t > |
struct | Reflect< uint8_t > |
struct | Reflect< VectorMap< Key, Value, Container > > |
struct | ReflectPrimitive |
Base struct for all primitive types. More... | |
struct | ReflectStruct |
struct | SchemaBuilder |
Common code for derived class to create a SchemaBuilder suitable for SC::Reflection::SchemaCompiler. More... | |
struct | SchemaCompiler |
Creates a schema linking a series of SchemaType. More... | |
struct | SchemaType |
Holds together a TypeInfo, a StringView and a type-erased builder function pointer. More... | |
struct | Sv |
A minimal ASCII StringView with shortened name to be used in TypeToString. More... | |
struct | TypeInfo |
[reflectionSnippet3] More... | |
struct | TypeToString |
Strips down class name produced by ClNm to reduce binary size (from C++17 going forward) More... | |
struct | VectorArrayVTable |
struct | WritableRange |
A writable span of objects. More... | |
Typedefs | |
using | TypeStringView = Sv |
using | Schema = Reflection::SchemaCompiler< FlatSchemaBuilder > |
Default schema not building any virtual table. More... | |
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).