Crate bones_schema

Source
Expand description

Simple reflection system based on the #[repr(C)] memory layout.

You can derive HasSchema for your Rust types to unlock integration with the bones_schema ecosystem, including bones_ecs and bones_asset.

Modules§

alloc
Allocation and collection utilities.
prelude
The prelude.
ptr
Schema-aware smart pointers.
raw_fns
Traits implementing raw function calls for cloning, dropping, and creating default values for Rust types.
registry
Global schema registry.
ser_de
Serde implementations for Schema.

Structs§

EnumSchemaInfo
Schema data for an enum.
Schema
A schema registered with the SCHEMA_REGISTRY.
SchemaData
Schema information describing the memory layout of a type.
SchemaLayoutInfo
Layout information computed for SchemaData.
StructFieldInfo
A field in a StructSchemaInfo.
StructSchemaInfo
Schema data for a struct.
Unsafe
A wrapper struct that marks it unsafe to both create and access the inner value.
VariantInfo
Information about an enum variant for EnumSchemaInfo.

Enums§

EnumTagType
A type for an enum tag for EnumSchemaInfo.
Primitive
A type of primitive.
SchemaKind
A schema describes the data layout of a type, to enable dynamic access to the type’s data through a pointer.

Traits§

FromType
Trait implemented for types that can produce an instance of themselves from a Rust type.
HasSchema
Trait implemented for types that have a Schema.

Derive Macros§

HasSchema
Derive macro for the HasSchema trait.