Skip to main content

float_pigment_consistent_bincode/config/
endian.rs

1use byteorder::{self, ByteOrder};
2
3pub trait BincodeByteOrder {
4    type Endian: ByteOrder + 'static;
5}
6
7/// Little-endian byte ordering.
8#[derive(Copy, Clone)]
9pub struct LittleEndian;
10
11/// Big-endian byte ordering.
12#[derive(Copy, Clone)]
13pub struct BigEndian;
14
15/// The native byte ordering of the current system.
16#[derive(Copy, Clone)]
17pub struct NativeEndian;
18
19impl BincodeByteOrder for LittleEndian {
20    type Endian = byteorder::LittleEndian;
21}
22
23impl BincodeByteOrder for BigEndian {
24    type Endian = byteorder::BigEndian;
25}
26
27impl BincodeByteOrder for NativeEndian {
28    type Endian = byteorder::NativeEndian;
29}