pub struct BlockDecoder<'a, R: Read + Seek> { /* private fields */ }Implementations§
Source§impl<'a, R: Read + Seek> BlockDecoder<'a, R>
impl<'a, R: Read + Seek> BlockDecoder<'a, R>
pub fn new( folder_index: usize, archive: &'a Archive, password: &'a [u8], source: &'a mut R, ) -> Self
pub fn entries(&self) -> &[SevenZArchiveEntry]
pub fn entry_count(&self) -> usize
Sourcepub fn for_each_entries<F: FnMut(&SevenZArchiveEntry, &mut dyn Read) -> Result<bool, Error>>(
self,
each: &mut F,
) -> Result<bool, Error>
pub fn for_each_entries<F: FnMut(&SevenZArchiveEntry, &mut dyn Read) -> Result<bool, Error>>( self, each: &mut F, ) -> Result<bool, Error>
Takes a closure to decode each files in this block.
When decoding files in a block, the data to be decompressed depends on the data in front of it, you cannot simply skip the previous data and only decompress the data in the back.
Non-solid archives use one block per file and allow more effective decoding of single files.
Auto Trait Implementations§
impl<'a, R> Freeze for BlockDecoder<'a, R>
impl<'a, R> RefUnwindSafe for BlockDecoder<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Send for BlockDecoder<'a, R>where
R: Send,
impl<'a, R> Sync for BlockDecoder<'a, R>where
R: Sync,
impl<'a, R> Unpin for BlockDecoder<'a, R>
impl<'a, R> !UnwindSafe for BlockDecoder<'a, R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more