musli_utils/lib.rs
1//! [<img alt="github" src="https://img.shields.io/badge/github-udoprog/musli-8da0cb?style=for-the-badge&logo=github" height="20">](https://github.com/udoprog/musli)
2//! [<img alt="crates.io" src="https://img.shields.io/crates/v/musli-utils.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/musli-utils)
3//! [<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-musli--utils-66c2a5?style=for-the-badge&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K" height="20">](https://docs.rs/musli-utils)
4//!
5//! Common utilities shared by [Müsli] encodings.
6//!
7//! The [`Reader`] and [`Writer`] traits are defined in here which determined
8//! the types that can be used in collaboration with [Müsli].
9//!
10//! Please refer to <https://docs.rs/musli> for documentation.
11//!
12//! [Müsli]: <https://docs.rs/musli>
13//! [`Reader`]: https://docs.rs/musli-utils/latest/musli-utils/reader/trait.Reader.html
14//! [`Writer`]: https://docs.rs/musli-utils/latest/musli-utils/writer/trait.Writer.html
15
16#![deny(missing_docs)]
17#![no_std]
18#![cfg_attr(doc_cfg, feature(doc_cfg))]
19
20#[cfg_attr(test, macro_use)]
21#[cfg(feature = "std")]
22extern crate std;
23
24#[cfg(feature = "alloc")]
25extern crate alloc;
26
27pub mod context;
28
29pub mod fixed;
30#[doc(inline)]
31pub use self::fixed::FixedBytes;
32
33#[macro_use]
34pub mod options;
35#[doc(inline)]
36pub use self::options::Options;
37
38pub mod buf;
39
40pub mod reader;
41#[doc(inline)]
42pub use self::reader::Reader;
43
44pub mod wrap;
45
46pub mod writer;
47#[doc(inline)]
48pub use self::writer::Writer;
49
50pub mod int;
51
52#[doc(hidden)]
53pub mod str;
54
55#[doc(inline)]
56pub use musli_allocator as allocator;
57
58#[macro_use]
59mod macros;
60
61#[cfg_attr(feature = "std", path = "system/std.rs")]
62#[cfg_attr(not(feature = "std"), path = "system/no_std.rs")]
63mod system;