Function safe_transmute::trivial::transmute_trivial_many[][src]

pub unsafe fn transmute_trivial_many<T: TriviallyTransmutable, G: Guard>(
    bytes: &[u8]
) -> Result<&[T], Error<'_, u8, T>>

Transmute a byte slice into a single instance of a trivially transmutable type.

The byte slice must have exactly enough bytes to fill a single instance of a type.

Errors

An error is returned if the data does not comply with the policies of the given guard G.

Safety

This function invokes undefined behavior if the data does not have a memory alignment compatible with T. If this cannot be ensured, you will have to make a copy of the data, or change how it was originally made.

Examples

// Little-endian
unsafe {
    assert_eq!(transmute_trivial_many::<u16, SingleManyGuard>(&[0x00, 0x01, 0x00, 0x02])?,
               &[0x0100, 0x0200]);
}