Trait IoBuf
pub trait IoBuf: 'static {
// Required method
fn as_init(&self) -> &[u8] ⓘ;
// Provided methods
fn buf_len(&self) -> usize { ... }
fn buf_ptr(&self) -> *const u8 { ... }
fn slice(self, range: impl RangeBounds<usize>) -> Slice<Self>
where Self: Sized { ... }
}Expand description
A trait for immutable buffers.
The IoBuf trait is implemented by buffer types that can be passed to
immutable completion-based IO operations, like writing its content to a
file. This trait will only take initialized bytes of a buffer into account.
Required Methods§
Provided Methods§
fn slice(self, range: impl RangeBounds<usize>) -> Slice<Self>where
Self: Sized,
fn slice(self, range: impl RangeBounds<usize>) -> Slice<Self>where
Self: Sized,
Implementations on Foreign Types§
§impl IoBuf for BorrowedBuf<'static>
Available on crate feature read_buf only.
impl IoBuf for BorrowedBuf<'static>
Available on crate feature
read_buf only.Implementors§
impl IoBuf for Bytes
Available on crate feature
bytes only.impl IoBuf for String
impl IoBuf for BytesMut
Available on crate feature
bytes only.impl<A> IoBuf for Vec<u8, A>where
A: Allocator + 'static,
impl<B, A> IoBuf for Box<B, A>
impl<B, A> IoBuf for Rc<B, A>
impl<B, A> IoBuf for Arc<B, A>
impl<T> IoBuf for Slice<T>where
T: IoBuf,
impl<T> IoBuf for Uninit<T>where
T: IoBuf,
impl<T> IoBuf for VectoredBufIter<T>where
T: IoVectoredBuf,
impl<const N: usize> IoBuf for ArrayVec<u8, N>
Available on crate feature
arrayvec only.