Trait otter_api_tests::crates::otter_support::crates::digest::VariableOutputReset
source · [−]pub trait VariableOutputReset: VariableOutput + Reset {
fn finalize_variable_reset(
&mut self,
out: &mut [u8]
) -> Result<(), InvalidBufferSize>;
fn finalize_boxed_reset(&mut self) -> Box<[u8], Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
{ ... }
}
Expand description
Trait for hash functions with variable-size output able to reset themselves.
Required Methods
fn finalize_variable_reset(
&mut self,
out: &mut [u8]
) -> Result<(), InvalidBufferSize>
fn finalize_variable_reset(
&mut self,
out: &mut [u8]
) -> Result<(), InvalidBufferSize>
Write result into the output buffer and reset the hasher state.
Returns Err(InvalidOutputSize)
if out
size is not equal to
self.output_size()
.
Provided Methods
fn finalize_boxed_reset(&mut self) -> Box<[u8], Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn finalize_boxed_reset(&mut self) -> Box<[u8], Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Retrieve result into a boxed slice and reset the hasher state.
Box<[u8]>
is used instead of Vec<u8>
to save stack space, since
they have size of 2 and 3 words respectively.