Sane C++ Libraries
C++ Platform Abstraction Libraries
SC::Reflection::SchemaCompiler< SchemaBuilder > Struct Template Reference

Creates a schema linking a series of SchemaType. More...

#include <ReflectionSchemaCompiler.h>

Static Public Member Functions

template<typename T , uint32_t MAX_LINK_BUFFER_SIZE = 20, uint32_t MAX_TOTAL_TYPES = 100>
static constexpr auto compile ()
 Returns a constexpr compiled trimmed flat schema for type T. More...
 

Detailed Description

template<typename SchemaBuilder>
struct SC::Reflection::SchemaCompiler< SchemaBuilder >

Creates a schema linking a series of SchemaType.

Template Parameters
SchemaBuilderThe builder used to obtain Virtual Tables

Member Function Documentation

◆ compile()

template<typename SchemaBuilder >
template<typename T , uint32_t MAX_LINK_BUFFER_SIZE = 20, uint32_t MAX_TOTAL_TYPES = 100>
static constexpr auto SC::Reflection::SchemaCompiler< SchemaBuilder >::compile ( )
inlinestaticconstexpr

Returns a constexpr compiled trimmed flat schema for type T.

Template Parameters
TThe type to be compiled
MAX_LINK_BUFFER_SIZEMaximum number of "complex types" (anything that is not a primitive) that can be built
MAX_TOTAL_TYPESMaximum number of types (struct members). When using constexpr it will trim it to actual size.
Returns
FlatTrimmedResult with only the required compiled types.

The documentation for this struct was generated from the following file: