[−][src]Trait byte_struct::ByteStructUnspecifiedByteOrder
A type that can be packed into or unpacked from raw bytes under given default byte order.
This trait is implemented for most numeric primitive types,
except for bool
, char
, isize
and usize
.
This is also implemented for array types whose element type implements ByteStructUnspecifiedByteOrder
and whose size is between 1 and 32 (inclusive).
This trait is automatically implemented for all types that implements ByteStruct
.
In this case, all members of ByteStructUnspecifiedByteOrder
are direct wrappers of ByteStruct
members.
Members in this trait are meant to be called by byte_struct internal only.
They do not do what one might expect:
the byte orders specified in read_bytes_default_*
/ write_bytes_default_*
functions
are only default byte orders.
The default byte order is only respected when the type itself does not carry byte order specification
(e.g. primitive types).
In contrast, since ByteStruct
types always have fixed packing method,
the default byte order has no effect on them, and the three versions of read / write functions for them,
_default_le
, _default_be
and no-spec from ByteStruct
, behave exactly the same.
One can implement this trait for custom types in order to pack or unpack an object in a special way,
but only when the said type changes its packing method depending on the default byte order.
An example for this is a custom fixed-size large integer type.
If the packing method is independent from the default byte order, please implement ByteStruct
instead.
Required methods
fn write_bytes_default_le(&self, bytes: &mut [u8])
Packs the object into raw bytes with little-endian as the default byte order
fn read_bytes_default_le(bytes: &[u8]) -> Self
Unpacks raw bytes into a new object with little-endian as the default byte order
fn write_bytes_default_be(&self, bytes: &mut [u8])
Packs the object into raw bytes with big-endian as the default byte order
fn read_bytes_default_be(bytes: &[u8]) -> Self
Unpacks raw bytes into a new object with big-endian as the default byte order
Implementations on Foreign Types
impl ByteStructUnspecifiedByteOrder for u8
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for i8
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for u16
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for i16
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for u32
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for i32
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for u64
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for i64
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for u128
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for i128
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for f32
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl ByteStructUnspecifiedByteOrder for f64
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 1]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 2]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 3]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 4]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 5]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 6]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 7]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 8]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 9]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 10]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 11]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 12]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 13]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 14]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 15]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 16]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 17]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 18]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 19]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 20]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 21]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 22]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 23]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 24]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 25]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 26]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 27]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 28]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 29]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 30]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 31]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 32]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 100]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
impl<T: ByteStructUnspecifiedByteOrder> ByteStructUnspecifiedByteOrder for [T; 3000]
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
Implementors
impl<T: ByteStruct> ByteStructUnspecifiedByteOrder for T
[src]
fn write_bytes_default_le(&self, bytes: &mut [u8])
[src]
A wrapper of ByteStruct::write_bytes
fn read_bytes_default_le(bytes: &[u8]) -> Self
[src]
A wrapper of ByteStruct::read_bytes
fn write_bytes_default_be(&self, bytes: &mut [u8])
[src]
A wrapper of ByteStruct::write_bytes
fn read_bytes_default_be(bytes: &[u8]) -> Self
[src]
A wrapper of ByteStruct::read_bytes