diff options
Diffstat (limited to 'bunny/src/inttraits.rs')
-rw-r--r-- | bunny/src/inttraits.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bunny/src/inttraits.rs b/bunny/src/inttraits.rs new file mode 100644 index 0000000..5d402b3 --- /dev/null +++ b/bunny/src/inttraits.rs @@ -0,0 +1,14 @@ +use core::slice; +use core::mem::size_of; + +pub trait AsBytes: Sized { + fn as_bytes(&self) -> &[u8] { + unsafe { slice::from_raw_parts(self as *const _ as *const u8, size_of::<Self>()) } + } +} + +impl AsBytes for u128 {} +impl AsBytes for u64 {} +impl AsBytes for u32 {} +impl AsBytes for u16 {} +impl AsBytes for u8 {} |