Skip to main content

BitwiseAncillaryData

Trait BitwiseAncillaryData 

pub trait BitwiseAncillaryData: Pod { }
Available on crate features ancillary and bytemuck and io only.
Expand description

Marker trait to enable automatic AncillaryData implementation via bytemuck.

Types that implement this trait (which requires bytemuck::Pod) will automatically implement AncillaryData using a simple byte-wise encoding/decoding.

§Example

use compio_io::ancillary::bytemuck_ext;

#[derive(Clone, Copy)]
#[repr(C)]
struct MyType {
    value: u32,
}

unsafe impl bytemuck_ext::Zeroable for MyType {}
unsafe impl bytemuck_ext::Pod for MyType {}
impl bytemuck_ext::BitwiseAncillaryData for MyType {}

// Now MyType automatically implements AncillaryData

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl BitwiseAncillaryData for ()

§

impl BitwiseAncillaryData for f32

§

impl BitwiseAncillaryData for f64

§

impl BitwiseAncillaryData for i8

§

impl BitwiseAncillaryData for i16

§

impl BitwiseAncillaryData for i32

§

impl BitwiseAncillaryData for i64

§

impl BitwiseAncillaryData for i128

§

impl BitwiseAncillaryData for isize

§

impl BitwiseAncillaryData for u8

§

impl BitwiseAncillaryData for u16

§

impl BitwiseAncillaryData for u32

§

impl BitwiseAncillaryData for u64

§

impl BitwiseAncillaryData for u128

§

impl BitwiseAncillaryData for usize

§

impl<T, const N: usize> BitwiseAncillaryData for [T; N]

Implementors§