Skip to main content

Module value_decode

Module value_decode 

Source
Expand description

Static recipes for reading native Encode bytes without the native Rust type. Recipes allocate nothing and are evaluated only by offline readers. Enable self-describing to generate companion implementations alongside Encode, or use #[bincode(describe)] on individual Encode types for unconditional support.

Structs§

ValueDecodeField
One field in wire order; skipped fields are absent.
ValueDecodeRef
Lazy typed reference, allowing recursive descriptions without recursive constants.
ValueDecodeType
Type identity is retained even when two types share an identical recipe.
ValueDecodeVariant
One encoded enum branch. Tags are declaration indices, regardless of Rust discriminants.

Enums§

FieldSelector
Identity-based selector for a reflected field, preserving the declaration index for tuples.
QuantityMetadata
A physical quantity associated with a compatible storage unit.
RecordShape
Exported shape of an aggregate.
Scalar
Scalar width and signedness. Integer encoding and endianness come from the codec configuration.
TimeStorageUnit
Storage choices for Copper time quantities.
ValueDecodeSpec
Wire operations supported by the first self-description API.
ValueMetadata
Copper-owned logical metadata attached to a value’s schema.

Traits§

ValueDecode
Describes the encoded representation, independently of reflection and memory layout. A handwritten encoder can delegate to the type it actually writes: