Crate hashrevise

Source

Structs§

Revised
Revised is a wrapper struct for efficiently tracking the RevisionHash of a desired type T. The RevisionHash is computed lazily and is only recomputed when the object has been accessed mutably. This is achieved transparently using the Deref and DerefMut traits such that Revised behaves in code just like a plain old T, except that computing its RevisionHash is optimized to avoid redundant recursions through all its contents to compute hash values, at the cost of a little extra storage.
RevisedProperty
Revised property is the cached result of a function call that is only evaluated lazily whenever the inputs have changed, according to their RevisionHash.
RevisionHash
RevisionHash is an integer summary of the contents of a data structure, based on hashing, intended to be used in distinguishing whether data structures have changed or not.
RevisionHasher
RevisionHasher is an efficient hasher used to compute revision hashes.

Traits§

Revisable
Revisable is a trait for types for which a RevisionHash can be computed. Something that implements Revisable can have changes to its contents tracked by watching its RevisionHash alone.

Type Aliases§

RevisedHashMap
RevisedHashMap<K, T> is shorthand for HashMap<K, Revised>.
RevisedVec
RevisedVec is shorthand for Vec<Revised>.