[][src]Struct iovec::IoVec

pub struct IoVec { /* fields omitted */ }

A specialized byte slice type for performing vectored I/O operations.

On all systems, the types needed to perform vectored I/O systems have the same size as Rust's slice. However, the layout is not necessarily the same. IoVec provides a portable compatibility layer.

The IoVec behaves like a Rust slice, providing the same functions. It also provides conversion functions to and from the OS specific vectored types.

Examples

use iovec::IoVec;

let mut data = vec![];
data.extend_from_slice(b"hello");

let iovec: &IoVec = data.as_slice().into();

assert_eq!(&iovec[..], &b"hello"[..]);

Panics

Attempting to convert a zero-length slice or a slice longer than MAX_LENGTH to an IoVec will result in a panic.

Methods

impl IoVec
[src]

Trait Implementations

impl Deref for IoVec
[src]

The resulting type after dereferencing.

Dereferences the value.

impl DerefMut for IoVec
[src]

Mutably dereferences the value.

Auto Trait Implementations

impl Send for IoVec

impl Sync for IoVec

Blanket Implementations

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more