Expand description
A newtype with alignment of at least A
bytes
§Examples
use std::mem;
use aligned::{Aligned, A2, A4, A16};
// Array aligned to a 2 byte boundary
static X: Aligned<A2, [u8; 3]> = Aligned([0; 3]);
// Array aligned to a 4 byte boundary
static Y: Aligned<A4, [u8; 3]> = Aligned([0; 3]);
// Unaligned array
static Z: [u8; 3] = [0; 3];
// You can allocate the aligned arrays on the stack too
let w: Aligned<A16, _> = Aligned([0u8; 3]);
assert_eq!(mem::align_of_val(&X), 2);
assert_eq!(mem::align_of_val(&Y), 4);
assert_eq!(mem::align_of_val(&Z), 1);
assert_eq!(mem::align_of_val(&w), 16);
Structs§
- 1-byte alignment
- 2-byte alignment
- 4-byte alignment
- 8-byte alignment
- 16-byte alignment
- 32-byte alignment
- 64-byte alignment
- A newtype with alignment of at least
A
bytes
Traits§
- A marker trait for an alignment value.
Functions§
- Changes the alignment of
value
to be at leastA
bytes