Struct streaming_decompression::Decompressor
source · pub struct Decompressor<I, O, F, E, II>where
I: Compressed,
O: Decompressed,
E: Error,
II: Iterator<Item = Result<I, E>>,
F: Fn(I, &mut Vec<u8>) -> Result<O, E>,{ /* private fields */ }
Expand description
A FallibleStreamingIterator
that decompresses items of type I
into type O
via an
internal Vec<u8>
that is re-used across items.
The purpose of this streaming iterator is to be able to decompress parts of an item I
into O
.
Implementations§
source§impl<I, O, F, E, II> Decompressor<I, O, F, E, II>where
I: Compressed,
O: Decompressed,
E: Error,
II: Iterator<Item = Result<I, E>>,
F: Fn(I, &mut Vec<u8>) -> Result<O, E>,
impl<I, O, F, E, II> Decompressor<I, O, F, E, II>where
I: Compressed,
O: Decompressed,
E: Error,
II: Iterator<Item = Result<I, E>>,
F: Fn(I, &mut Vec<u8>) -> Result<O, E>,
sourcepub fn new(iter: II, buffer: Vec<u8>, f: F) -> Self
pub fn new(iter: II, buffer: Vec<u8>, f: F) -> Self
Returns a new Decompressor
.
sourcepub fn into_inner(self) -> Vec<u8>
pub fn into_inner(self) -> Vec<u8>
Returns its internal buffer, consuming itself.
Trait Implementations§
source§impl<I, O, F, E, II> FallibleStreamingIterator for Decompressor<I, O, F, E, II>where
I: Compressed,
O: Decompressed,
E: Error,
II: Iterator<Item = Result<I, E>>,
F: Fn(I, &mut Vec<u8>) -> Result<O, E>,
impl<I, O, F, E, II> FallibleStreamingIterator for Decompressor<I, O, F, E, II>where
I: Compressed,
O: Decompressed,
E: Error,
II: Iterator<Item = Result<I, E>>,
F: Fn(I, &mut Vec<u8>) -> Result<O, E>,
source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns bounds on the number of remaining elements in the iterator.
source§fn next(&mut self) -> Result<Option<&Self::Item>, Self::Error>
fn next(&mut self) -> Result<Option<&Self::Item>, Self::Error>
Advances the iterator, returning the next element. Read more
source§fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
Determines if all elements of the iterator satisfy a predicate.
source§fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
Determines if any elements of the iterator satisfy a predicate.
source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Borrows an iterator, rather than consuming it. Read more
source§fn count(self) -> Result<usize, Self::Error>where
Self: Sized,
fn count(self) -> Result<usize, Self::Error>where
Self: Sized,
Returns the number of remaining elements in the iterator.
source§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Returns an iterator which filters elements by a predicate.
source§fn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error>
fn find<F>(&mut self, f: F) -> Result<Option<&Self::Item>, Self::Error>
Returns the first element of the iterator which satisfies a predicate.
source§fn for_each<F>(self, f: F) -> Result<(), Self::Error>
fn for_each<F>(self, f: F) -> Result<(), Self::Error>
Calls a closure on each element of an iterator.
source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Returns an iterator which is well-behaved at the beginning and end of iteration.
source§fn map<F, B>(self, f: F) -> Map<Self, F, B>
fn map<F, B>(self, f: F) -> Map<Self, F, B>
Returns an iterator which applies a transform to elements.
source§fn map_ref<F, B>(self, f: F) -> MapRef<Self, F>
fn map_ref<F, B>(self, f: F) -> MapRef<Self, F>
Returns an iterator which applies a transform to elements. Read more
source§fn map_err<F, B>(self, f: F) -> MapErr<Self, F>
fn map_err<F, B>(self, f: F) -> MapErr<Self, F>
Returns an iterator that applies a transform to errors.
source§fn nth(&mut self, n: usize) -> Result<Option<&Self::Item>, Self::Error>
fn nth(&mut self, n: usize) -> Result<Option<&Self::Item>, Self::Error>
Returns the
nth
element of the iterator.source§fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
Returns the position of the first element matching a predicate.
source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Returns an iterator which skips the first
n
elements.source§fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
Returns an iterator which skips the first sequence of elements matching a predicate.
Auto Trait Implementations§
impl<I, O, F, E, II> Freeze for Decompressor<I, O, F, E, II>
impl<I, O, F, E, II> RefUnwindSafe for Decompressor<I, O, F, E, II>
impl<I, O, F, E, II> Send for Decompressor<I, O, F, E, II>
impl<I, O, F, E, II> Sync for Decompressor<I, O, F, E, II>
impl<I, O, F, E, II> Unpin for Decompressor<I, O, F, E, II>
impl<I, O, F, E, II> UnwindSafe for Decompressor<I, O, F, E, II>
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