bite/bite/
le_read.rs

1use {
2    std,
3    std::io::Read,
4
5    bite::BiteReadExpandedExt,
6    bite::LittleEndian,
7};
8
9
10
11pub trait BiteReadExt: Read {
12    #[inline] fn read_u8        (&mut self)                      -> Result<    u8,  std::io::Error> { BiteReadExpandedExt::read_u8                        (self)          }
13    #[inline] fn read_i8        (&mut self)                      -> Result<    i8,  std::io::Error> { BiteReadExpandedExt::read_i8                        (self)          }
14    #[inline] fn read_u16       (&mut self)                      -> Result<   u16,  std::io::Error> { BiteReadExpandedExt::read_u16       ::<LittleEndian>(self)          }
15    #[inline] fn read_i16       (&mut self)                      -> Result<   i16,  std::io::Error> { BiteReadExpandedExt::read_i16       ::<LittleEndian>(self)          }
16    #[inline] fn read_u24       (&mut self)                      -> Result<   u32,  std::io::Error> { BiteReadExpandedExt::read_u24       ::<LittleEndian>(self)          }
17    #[inline] fn read_i24       (&mut self)                      -> Result<   i32,  std::io::Error> { BiteReadExpandedExt::read_i24       ::<LittleEndian>(self)          }
18    #[inline] fn read_u32       (&mut self)                      -> Result<   u32,  std::io::Error> { BiteReadExpandedExt::read_u32       ::<LittleEndian>(self)          }
19    #[inline] fn read_i32       (&mut self)                      -> Result<   i32,  std::io::Error> { BiteReadExpandedExt::read_i32       ::<LittleEndian>(self)          }
20    #[inline] fn read_u64       (&mut self)                      -> Result<   u64,  std::io::Error> { BiteReadExpandedExt::read_u64       ::<LittleEndian>(self)          }
21    #[inline] fn read_i64       (&mut self)                      -> Result<   i64,  std::io::Error> { BiteReadExpandedExt::read_i64       ::<LittleEndian>(self)          }
22    #[inline] fn read_u128      (&mut self)                      -> Result<  u128,  std::io::Error> { BiteReadExpandedExt::read_u128      ::<LittleEndian>(self)          }
23    #[inline] fn read_i128      (&mut self)                      -> Result<  i128,  std::io::Error> { BiteReadExpandedExt::read_i128      ::<LittleEndian>(self)          }
24    #[inline] fn read_uint      (&mut self, bytes: usize)        -> Result<   u64,  std::io::Error> { BiteReadExpandedExt::read_uint      ::<LittleEndian>(self, bytes)   }
25    #[inline] fn read_int       (&mut self, bytes: usize)        -> Result<   i64,  std::io::Error> { BiteReadExpandedExt::read_int       ::<LittleEndian>(self, bytes)   }
26    #[inline] fn read_uint128   (&mut self, bytes: usize)        -> Result<  u128,  std::io::Error> { BiteReadExpandedExt::read_uint128   ::<LittleEndian>(self, bytes)   }
27    #[inline] fn read_int128    (&mut self, bytes: usize)        -> Result<  i128,  std::io::Error> { BiteReadExpandedExt::read_int128    ::<LittleEndian>(self, bytes)   }
28    #[inline] fn read_f32       (&mut self)                      -> Result<   f32,  std::io::Error> { BiteReadExpandedExt::read_f32       ::<LittleEndian>(self)          }
29    #[inline] fn read_f64       (&mut self)                      -> Result<   f64,  std::io::Error> { BiteReadExpandedExt::read_f64       ::<LittleEndian>(self)          }
30
31    #[inline] fn read_slice_u16 (&mut self, values: &mut [u16])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_u16 ::<LittleEndian>(self, values)  }
32    #[inline] fn read_slice_i16 (&mut self, values: &mut [i16])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_i16 ::<LittleEndian>(self, values)  }
33    #[inline] fn read_slice_u32 (&mut self, values: &mut [u32])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_u32 ::<LittleEndian>(self, values)  }
34    #[inline] fn read_slice_i32 (&mut self, values: &mut [i32])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_i32 ::<LittleEndian>(self, values)  }
35    #[inline] fn read_slice_u64 (&mut self, values: &mut [u64])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_u64 ::<LittleEndian>(self, values)  }
36    #[inline] fn read_slice_i64 (&mut self, values: &mut [i64])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_i64 ::<LittleEndian>(self, values)  }
37    #[inline] fn read_slice_u128(&mut self, values: &mut [u128]) -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_u128::<LittleEndian>(self, values)  }
38    #[inline] fn read_slice_i128(&mut self, values: &mut [i128]) -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_i128::<LittleEndian>(self, values)  }
39    #[inline] fn read_slice_f32 (&mut self, values: &mut [f32])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_f32 ::<LittleEndian>(self, values)  }
40    #[inline] fn read_slice_f64 (&mut self, values: &mut [f64])  -> Result<     (), std::io::Error> { BiteReadExpandedExt::read_slice_f64 ::<LittleEndian>(self, values)  }
41
42    #[inline] fn read_framed    (&mut self)                      -> Result<Vec<u8>, std::io::Error> { BiteReadExpandedExt::read_framed    ::<LittleEndian>(self)          }
43    #[inline] fn read_framed_max(&mut self, maximum: usize)      -> Result<Vec<u8>, std::io::Error> { BiteReadExpandedExt::read_framed_max::<LittleEndian>(self, maximum) }
44}
45
46impl<T> BiteReadExt for T where T: Read + ?Sized { }