Trait zerocopy::ByteSlice[][src]

pub unsafe trait ByteSlice: Deref<Target = [u8]> + Sized + Sealed {
    fn as_ptr(&self) -> *const u8;
fn split_at(self, mid: usize) -> (Self, Self); }
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

Gets a raw pointer to the first byte in the slice.

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().

Implementations on Foreign Types

Implementors