oct 0.29.2

Octonary transcodings.
Documentation
// Copyright 2024-2026 Gabriel Bjørnager Jensen.
//
// SPDX: MIT OR Apache-2.0

#![cfg(feature = "std")]

//! Serialisation/deserialisation facilities.
//!
#![cfg_attr(not(feature = "std"), doc = "[`std::io`]: <https://doc.rust-lang.org/nightly/std/io/index.html>")]
//!
//! Note that all ported items are only provided on
//! a bare bones basis; implementing the entirety of
//! `std::io` would either be massively inefficient
//! or extremely overcomplicated due to the extra
//! leverage that internal crates get (that we
//! wouldn't without a nightly compiler). See
//! [#48331] for information on the official port
//! into [`alloc`] and [`core`].
//!
//! [#48331]: <https://github.com/rust-lang/rust/issues/48331>
//!
#![cfg_attr(not(feature = "alloc"), doc = "[`alloc`]: <https://doc.rust-lang.org/nightly/alloc/index.html>")]
//!
//! # Examples
//!
#![cfg_attr(feature = "proc_macro", doc = include_str!("serdes_derive_examples.md"))]

mod deserialise;
mod serialise;

pub use deserialise::Deserialise;
pub use serialise::Serialise;

/// Implements [`Deserialise`] for the given type.
///
/// [`Deserialise`]: trait@Deserialise
#[cfg(feature = "proc_macro")]
#[doc(inline)]
pub use oct_macros::Deserialise;

/// Implements [`Serialise`] for the given type.
///
/// [`Serialise`]: trait@Serialise
#[cfg(feature = "proc_macro")]
#[doc(inline)]
pub use oct_macros::Serialise;