Improved version of Rust's include_bytes
macro that allows to reinterpret input as differently typed array.
Due to inability to capture current file path in the stable Rust, this macro only accepts paths relative to crate's root.
Primitive fixed sized unsigned integers with optional endianness suffix;
Arrays with unsigned integers;
```rust use includebytesplus::include_bytes;
let bytes = includebytes!("tests/include.in"); let bytesu16 = includebytes!("tests/include.in" as u16); let bytesu162 = includebytes!("tests/include with whitespaces.in" as u16); let bytesu163 = includebytes!("tests/include with whitespaces.in" as [u8; 48]); let bytesu164 = includebytes!("tests/include with whitespaces.in" as [u16; 12]); let bytesu16be = includebytes!("tests/include.in" as u16be);
asserteq!(bytes.len(), bytesu16.len() * 2); asserteq!(bytes.len(), bytesu16.len() * 2); asserteq!(bytes.len(), bytesu162.len() * 2); asserteq!(bytesu163.len(), 1); asserteq!(bytesu163[0].len(), 48); asserteq!(bytesu164.len(), 2); asserteq!(bytesu164[0].len(), 12); asserteq!(bytesu164[1].len(), 12); asserteq!(bytesu16be.len(), bytes_u16.len()); ```
Set env variable RUST_INCLUDE_BYTES_LOG=1
to enable logging of each parsed file statistics