Expand description
Traits for generically dealing with an encoding framework.
The central traits are Encode and Encoder.
A type implementing Encode can use an Encoder to encode itself. This also comes with a derive allowing you to derive high performance encoding associated with native Rust types.
Note that using derives directly from musli_core requires you to use the
#[musli(crate = musli_core)] attribute.
§Examples
use musli_core::Encode;
#[derive(Encode)]
#[musli(crate = musli_core)]
pub struct Person<'a> {
name: &'a str,
age: u32,
}Enums§
- TryFast
Encode - An outcome of a fast encode attempt.
Traits§
- Encode
- Trait governing how types are encoded.
- Encode
Bytes - Trait governing how a type is encoded as bytes.
- Encode
Packed - Trait governing how a type is encoded as a packed value.
- Encode
Trace - Trait governing how types are encoded specifically for tracing.
- Encoder
- Trait governing how the encoder works.
- Entries
Encoder - Trait governing how to encode a map entry.
- Entry
Encoder - Trait governing how to encode a map entry.
- MapEncoder
- Encoder for a map.
- Sequence
Encoder - Trait governing how to encode a sequence.
- Variant
Encoder - Trait governing how to encode a variant.
Attribute Macros§
Derive Macros§
- Encode
- Derive which automatically implements the
Encodetrait.