Expand description
This Library is still pre-1.0.0 the API is therefore in heavy flux!
A small library for conveniently working with immutables bytes from different sources, providing zero-copy slicing and cloning.
Access itself is extremely cheap via no-op conversion to a &[u8].
The storage mechanism backing the bytes can be extended
and is implemented for a variety of sources already,
including other byte handling crates Bytes, mmap-ed files,
Strings and Zerocopy types.
§Comparison
| Crate | Active | Extensible | mmap support | Zerocopy Integration | Pyo3 Integration | kani verified |
|---|---|---|---|---|---|---|
| anybytes | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 |
| bytes | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| ownedbytes | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| minibytes | ✅1 | ✅ | ✅ | ❌ | ❌ | ❌ |
§Acknowledgements
This library started as a fork of the minibyte library in facebooks sapling scm.
Recently published again. ↩
Re-exports§
pub use crate::bytes::ByteSource;pub use crate::bytes::Bytes;pub use crate::bytes::WeakBytes;pub use crate::packed::Packed;pub use crate::packed::PackedSlice;pub use crate::packed::PackedStr;