Skip to main content

Crate revision

Crate revision 

Source
Expand description

Defines a generic trait for version tolerant serialization and deserialization and implements it for primitive data types using the bincode format.

The Revisioned trait is automatically implemented for the following primitives: u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize, f32, f64, char, str, String, Vec, Arrays up to 32 elements, Option, Box, Bound, Range, Wrapping, (A, B), (A, B, C), (A, B, C, D), (A, B, C, D, E), Duration, SystemTime, HashMap<K, V>, BTreeMap<K, V>, Result<T, E>, Cow<’_, T>, Decimal, regex::Regex, uuid::Uuid, chrono::Duration, chrono::DateTime, geo::Point, geo::LineString geo::Polygon, geo::MultiPoint, geo::MultiLineString, and geo::MultiPolygon.

Re-exports§

pub use crate::error::Error;
pub use slice_reader::SliceReader;
pub use slice_reader::advance_read;

Modules§

error
implementations
prelude
slice_reader
Helpers for advancing through revisioned bytes without building values.

Traits§

DeserializeRevisioned
Revisioned
Trait that provides an interface for version aware serialization and deserialization.
SerializeRevisioned
SkipCheckRevisioned
SkipRevisioned

Functions§

from_reader
Deserialize a revisioned type from a reader
from_slice
Deserialize a revisioned type from a slice of bytes
skip_check_reader
Alias for skip_check_revisioned.
skip_check_revisioned
skip_check_slice
skip_reader
Alias for skip_revisioned.
skip_revisioned
skip_slice
to_vec
Serialize a revisioned type into a vec of bytes
to_writer
Serialize a revisioned type into a vec of bytes

Attribute Macros§

revisioned
Generates serialization and deserialization code as an implementation of the Revisioned trait for structs and enums.