Type Alias concordium_contracts_common::HashSet
source · pub type HashSet<K, S = FnvBuildHasher> = HashSet<K, S>;
Expand description
Reexport of the HashSet
from hashbrown
with the default hasher set to
the fnv
hash function.
Aliased Type§
struct HashSet<K, S = FnvBuildHasher> { /* private fields */ }
Trait Implementations§
source§impl<K: Deserial + Hash + Eq> Deserial for HashSet<K>
impl<K: Deserial + Hash + Eq> Deserial for HashSet<K>
The deserialization of sets assumes their size is a u32.
WARNING: Deserialization only ensures that
there are no duplicates. Serializing a HashSet
via its Serial
instance
will not lay out elements in any particular order. As a consequence
deserializing, and serializing back is in general not the identity. This
could have consequences if the data is hashed, or the byte representation
is used in some other way directly. In those cases use a BTreeSet
instead.
source§impl<K: Deserial + Eq + Hash> DeserialCtx for HashSet<K>
impl<K: Deserial + Eq + Hash> DeserialCtx for HashSet<K>
Deserialization for HashSet given a size_len. Values are not verified to be in any particular order and setting ensure_ordering have no effect.
source§fn deserial_ctx<R: Read>(
size_len: SizeLength,
_ensure_ordered: bool,
source: &mut R
) -> ParseResult<Self>
fn deserial_ctx<R: Read>( size_len: SizeLength, _ensure_ordered: bool, source: &mut R ) -> ParseResult<Self>
source§impl<T: SchemaType> SchemaType for HashSet<T>
impl<T: SchemaType> SchemaType for HashSet<T>
source§impl<K: Serial> Serial for HashSet<K>
impl<K: Serial> Serial for HashSet<K>
sufficient for all realistic use cases in smart contracts. They are serialized in no particular order.
source§impl<K: Serial> SerialCtx for HashSet<K>
impl<K: Serial> SerialCtx for HashSet<K>
Serialization for HashSet given a size_len. Values are not serialized in any particular order.
source§fn serial_ctx<W: Write>(
&self,
size_len: SizeLength,
out: &mut W
) -> Result<(), W::Err>
fn serial_ctx<W: Write>( &self, size_len: SizeLength, out: &mut W ) -> Result<(), W::Err>
size_length
or
only part of the structure could be written. Read more