macro_rules! buffer_xof {
(
$(#[$hasher_attr:meta])*
$hasher_vis:vis struct $hasher_name:ident($hasher_core:ty);
$(oid: $oid:literal;)?
impl: $($hasher_trait_name:ident)*;
$(#[$reader_attr:meta])*
$reader_vis:vis struct $reader_name:ident($reader_core:ty);
impl: $($reader_trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty); ;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
XofHasherTraits $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
XofReaderTraits $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
Debug $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
AlgorithmName $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
Default $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
CustomizedInit $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
Clone $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
BlockSizeUser $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
CoreProxy $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
HashMarker $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
Update $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
Reset $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
ExtendableOutputReset $($trait_name:ident)*;
) => { ... };
(
impl_inner: $name:ident($core_ty:ty);
SerializableState $($trait_name:ident)*;
) => { ... };
}Expand description
Creates a buffered wrapper around block-level “core” type which implements extendable output size traits.