struct-pad

Padding types to enable memory layout optimizations.

License: MIT License: Unlicense crates.io docs.rs

Example

```rust use struct_pad::{Pad, PadU0, PadU8, PadU16, PadU32};

struct Example { field1: u64, field2: u8, // Padding fields pad1: PadU8, #[cfg(targetpointerwidth = "16")] pad2: PadU0, #[cfg(not(targetpointerwidth = "16"))] pad2: PadU16, #[cfg(targetpointerwidth = "64")] pad3: PadU32, #[cfg(not(targetpointerwidth = "64"))] pad3: PadU0, }

impl Example { const fn new(field1: u64, field2: u8) -> Self { Self { field1, field2, pad1: Pad::VALUE, pad2: Pad::VALUE, pad3: Pad::VALUE, } } } ```