1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//! 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; #[cfg(feature = "std")] pub use self::buf_mut::IoSliceMut; pub use self::ext::{BufExt, BufMutExt}; pub use self::iter::IntoIter;