diff options
Diffstat (limited to 'src/buf/mod.rs')
-rw-r--r-- | src/buf/mod.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/buf/mod.rs b/src/buf/mod.rs new file mode 100644 index 0000000..d4538f2 --- /dev/null +++ b/src/buf/mod.rs @@ -0,0 +1,31 @@ +//! Utilities for working with buffers. +//! +//! A buffer is any structure that contains a sequence of bytes. The bytes may +//! or may not be stored in contiguous memory. This module contains traits used +//! to abstract over buffers as well as utilities for working with buffer types. +//! +//! # `Buf`, `BufMut` +//! +//! These are the two foundational traits for abstractly working with buffers. +//! They can be thought as iterators for byte structures. They offer additional +//! performance over `Iterator` by providing an API optimized for byte slices. +//! +//! See [`Buf`] and [`BufMut`] for more details. +//! +//! [rope]: https://en.wikipedia.org/wiki/Rope_(data_structure) +//! [`Buf`]: trait.Buf.html +//! [`BufMut`]: trait.BufMut.html + +mod buf_impl; +mod buf_mut; +pub mod ext; +mod iter; +mod vec_deque; + +pub use self::buf_impl::Buf; +pub use self::buf_mut::BufMut; +pub use self::ext::{BufExt, BufMutExt}; +#[cfg(feature = "std")] +pub use self::buf_mut::IoSliceMut; +pub use self::iter::IntoIter; + |