pub struct UnfilterBuf<'data> { /* private fields */ }
Expand description
An inplace buffer for decompression and filtering of PNG rowlines.
The underlying data structure is a vector, with additional markers denoting a region of bytes
that are utilized by the decompression but not yet available to arbitrary modifications. The
caller can still shift around data between calls to the stream decompressor as long as the data
in the marked region is not modified and the indices adjusted accordingly. See
UnfilterRegion
that contains these markers.
Violating the invariants, i.e. modifying bytes in the marked region, results in absurdly wacky decompression output or panics but not undefined behavior.
Auto Trait Implementations§
impl<'data> Freeze for UnfilterBuf<'data>
impl<'data> RefUnwindSafe for UnfilterBuf<'data>
impl<'data> Send for UnfilterBuf<'data>
impl<'data> Sync for UnfilterBuf<'data>
impl<'data> Unpin for UnfilterBuf<'data>
impl<'data> !UnwindSafe for UnfilterBuf<'data>
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