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§
- Enum
Schema Info - Schema data for an enum.
- Schema
- A schema registered with the
SCHEMA_REGISTRY
. - Schema
Data - Schema information describing the memory layout of a type.
- Schema
Layout Info - Layout information computed for
SchemaData
. - Struct
Field Info - A field in a
StructSchemaInfo
. - Struct
Schema Info - Schema data for a struct.
- Unsafe
- A wrapper struct that marks it unsafe to both create and access the inner value.
- Variant
Info - Information about an enum variant for
EnumSchemaInfo
.
Enums§
- Enum
TagType - A type for an enum tag for
EnumSchemaInfo
. - Primitive
- A type of primitive.
- Schema
Kind - A schema describes the data layout of a type, to enable dynamic access to the type’s data through a pointer.
Traits§
- From
Type - 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.