[][src]Struct slice_dst::SliceWithHeader

#[repr(C)]pub struct SliceWithHeader<Header, Item> {
    pub header: Header,
    pub slice: [Item],
    // some fields omitted
}

A custom slice-based DST.

The length is stored as a usize at offset 0. This must be the length of the trailing slice of the DST.

Fields

header: Header

The included header. Does not dictate the slice length.

slice: [Item]

The included slice.

Implementations

impl<Header, Item> SliceWithHeader<Header, Item>[src]

pub fn new<A, I>(header: Header, items: I) -> A where
    A: AllocSliceDst<Self>,
    I: IntoIterator<Item = Item>,
    I::IntoIter: ExactSizeIterator
[src]

Create a new slice/header DST in a AllocSliceDst container.

Panics

Panics if the items iterator incorrectly reports its length.

pub fn from_slice<A>(header: Header, s: &[Item]) -> A where
    A: AllocSliceDst<Self>,
    Item: Copy
[src]

Create a new slice/header DST from a slice, in a AllocSliceDst container.

Trait Implementations

impl<Header: Debug, Item: Debug> Debug for SliceWithHeader<Header, Item>[src]

impl<Header: Eq, Item: Eq> Eq for SliceWithHeader<Header, Item>[src]

impl<Header, Item> Erasable for SliceWithHeader<Header, Item>[src]

impl<Header: Hash, Item: Hash> Hash for SliceWithHeader<Header, Item>[src]

impl<Header: PartialEq, Item: PartialEq> PartialEq<SliceWithHeader<Header, Item>> for SliceWithHeader<Header, Item>[src]

impl<Header, Item> SliceDst for SliceWithHeader<Header, Item>[src]

impl<Header, Item> StructuralEq for SliceWithHeader<Header, Item>[src]

impl<Header, Item> StructuralPartialEq for SliceWithHeader<Header, Item>[src]

Auto Trait Implementations

impl<Header, Item> Send for SliceWithHeader<Header, Item> where
    Header: Send,
    Item: Send

impl<Header, Item> Sync for SliceWithHeader<Header, Item> where
    Header: Sync,
    Item: Sync

impl<Header, Item> Unpin for SliceWithHeader<Header, Item> where
    Header: Unpin,
    Item: Unpin

Blanket Implementations

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

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

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

impl<T> Erasable for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.