Trait elain::Alignment[][src]

pub unsafe trait Alignment: Sealed { }

Implemented for all Align<N> where N is a valid alignment (i.e., a power of two less-than-or-equal to 228).

use elain::{Align, Alignment};
use core::mem::align_of;

#[repr(C)]
struct Foo<const MIN_ALIGNMENT: usize>
where
    Align<MIN_ALIGNMENT>: Alignment
{
    _align: Align<MIN_ALIGNMENT>,
    bar: u8,
    baz: u16,
}

assert_eq!(align_of::<Foo<1>>(), 2);
assert_eq!(align_of::<Foo<2>>(), 2);
assert_eq!(align_of::<Foo<4>>(), 4);

Implementors

impl Alignment for Align<1>[src]

impl Alignment for Align<2>[src]

impl Alignment for Align<4>[src]

impl Alignment for Align<8>[src]

impl Alignment for Align<16>[src]

impl Alignment for Align<32>[src]

impl Alignment for Align<64>[src]

impl Alignment for Align<128>[src]

impl Alignment for Align<256>[src]

impl Alignment for Align<512>[src]

impl Alignment for Align<1024>[src]

impl Alignment for Align<2048>[src]

impl Alignment for Align<4096>[src]

impl Alignment for Align<8192>[src]

impl Alignment for Align<16384>[src]

impl Alignment for Align<32768>[src]

impl Alignment for Align<65536>[src]

impl Alignment for Align<131072>[src]

impl Alignment for Align<262144>[src]

impl Alignment for Align<524288>[src]

impl Alignment for Align<1048576>[src]

impl Alignment for Align<2097152>[src]

impl Alignment for Align<4194304>[src]

impl Alignment for Align<8388608>[src]

impl Alignment for Align<16777216>[src]

impl Alignment for Align<33554432>[src]

impl Alignment for Align<67108864>[src]

impl Alignment for Align<134217728>[src]

impl Alignment for Align<268435456>[src]

Loading content...