pub struct Hash64 { /* private fields */ }Expand description
A streaming FNV-1a 64 digest: write values in a fixed order, read
digest.
It is also a Hasher, so a type whose Hash implementation is yours can be
folded through Hash::hash. The two paths agree on every primitive: this type
overrides every integer writer, so u32 folds as four little-endian bytes
either way. They differ on str, which the harness’s own str
length-prefixes while Hash’s stable default writes the bytes and a 0xff;
both are pinned, pick one and stay with it.
Implementations§
Source§impl Hash64
impl Hash64
Sourcepub const fn digest(&self) -> u64
pub const fn digest(&self) -> u64
What has been written so far.
Writing more changes it, so read it where the stream ends.
Sourcepub fn usize(&mut self, value: usize)
pub fn usize(&mut self, value: usize)
A length or index, folded as u64 so the width is not target-dependent.
Trait Implementations§
impl Copy for Hash64
impl Eq for Hash64
Source§impl Hasher for Hash64
impl Hasher for Hash64
Source§fn write_u128(&mut self, value: u128)
fn write_u128(&mut self, value: u128)
Writes a single
u128 into this hasher.Source§fn write_usize(&mut self, value: usize)
fn write_usize(&mut self, value: usize)
Writes a single
usize into this hasher.Source§fn write_i128(&mut self, value: i128)
fn write_i128(&mut self, value: i128)
Writes a single
i128 into this hasher.Source§fn write_isize(&mut self, value: isize)
fn write_isize(&mut self, value: isize)
Writes a single
isize into this hasher.Source§fn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras)Writes a length prefix into this hasher, as part of being prefix-free. Read more
impl StructuralPartialEq for Hash64
Auto Trait Implementations§
impl Freeze for Hash64
impl RefUnwindSafe for Hash64
impl Send for Hash64
impl Sync for Hash64
impl Unpin for Hash64
impl UnsafeUnpin for Hash64
impl UnwindSafe for Hash64
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FromTemplate for T
impl<T> FromTemplate for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
Uses this template and the given
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clones this template. See
Clone.