1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
use crate::{BinReader, Endidness, OwnableBinReader}; use std::marker::PhantomData; pub struct BorrowedBinReaderIter<'a, 'r, B> where 'r: 'a, B: BinReader<'r>, { reader: &'a B, cursor: usize, length: usize, endidness_override: Option<Endidness>, _marker: Option<&'r PhantomData<bool>>, } impl<'a, 'r, B> BorrowedBinReaderIter<'a, 'r, B> where 'r: 'a, B: BinReader<'r>, { pub(crate) fn new(reader: &'a B, endidness_override: Option<Endidness>) -> Self { Self { reader, cursor: 0, length: reader.remaining(), endidness_override, _marker: None, } } pub fn endidness(&self) -> Endidness { #[allow(clippy::or_fun_call)] self.endidness_override.unwrap_or(self.reader.endidness()) } }