pub unsafe trait ByteSlice: Deref<Target = [u8]> + Sized + Sealed {
// Required method
fn split_at(self, mid: usize) -> (Self, Self);
// Provided method
fn as_ptr(&self) -> *const u8 { ... }
}Expand description
A mutable or immutable reference to a byte slice.
ByteSlice abstracts over the mutability of a byte slice reference, and is
implemented for various special reference types such as Ref<[u8]> and
RefMut<[u8]>.
Note that, while it would be technically possible, ByteSlice is not
implemented for Vec<u8>, as the only way to implement the split_at
method would involve reallocation, and split_at must be a very cheap
operation in order for the utilities in this crate to perform as designed.
Required Methods§
sourcefn split_at(self, mid: usize) -> (Self, Self)
fn split_at(self, mid: usize) -> (Self, Self)
Splits the slice at the midpoint.
x.split_at(mid) returns x[..mid] and x[mid..].
Panics
x.split_at(mid) panics if mid > x.len().
Provided Methods§
Object Safety§
This trait is not object safe.