[−][src]Crate struct_pad
Padding types to enable memory layout optimizations.
Example
Basic usage:
use struct_pad::{Pad, PadU0, PadU8, PadU16, PadU32}; struct Example { field1: u64, field2: u8, // Padding fields pad1: PadU8, #[cfg(target_pointer_width = "16")] pad2: PadU0, #[cfg(not(target_pointer_width = "16"))] pad2: PadU16, #[cfg(target_pointer_width = "64")] pad3: PadU32, #[cfg(not(target_pointer_width = "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, } } }
Structs
PadU0 | A padding type with the same layout as |
PadU8 | A padding type with the same layout as |
PadU16 | A padding type with the same layout as |
PadU32 | A padding type with the same layout as |
PadU64 | A padding type with the same layout as |
Traits
Pad | A padding type. |
Type Definitions
PadUsize | A padding type with the same layout as |