[−][src]Function cpu_endian::working
pub fn working() -> Endian
Returns the CPU byte order.
Some CPUs change the byte order, however, it won't be changed while process is running.
This function checks the byte order dynamically and caches it when first called. After that, this function returns the cache.
use cpu_endian::*; // Takes first octet of 0x00ff: u16. let v: u16 = 0x00ff; let first_octet: u8 = unsafe { let ptr = &v as *const u16; let ptr = ptr as *const u8; *ptr }; // If the byte-order is little-endian, the first octet should be 0xff, or if big-endian, the // it should be 0x00. match working() { Endian::Little => assert_eq!(0xff, first_octet), Endian::Big => assert_eq!(0x00, first_octet), _ => {}, }