Struct cranelift_entity::SecondaryMap [−][src]
Expand description
A mapping K -> V
for densely indexed entity references.
The SecondaryMap
data structure uses the dense index space to implement a map with a vector.
Unlike PrimaryMap
, an SecondaryMap
can’t be used to allocate entity references. It is used
to associate secondary information with entities.
The map does not track if an entry for a key has been inserted or not. Instead it behaves as if all keys have a default entry from the beginning.
Implementations
Shared SecondaryMap
implementation for all value types.
Create a new, empty map with the specified capacity.
The map will be able to hold exactly capacity
elements without reallocating.
Create a new empty map with a specified default value.
This constructor does not require V to implement Default.
Returns the number of elements the map can hold without reallocating.
Iterate over all the keys and values in this map.
Iterate over all the keys and values in this map, mutable edition.
Iterate over all the keys in this map.
Iterate over all the values in this map, mutable edition.
Trait Implementations
Returns the “default value” for a type. Read more
impl<'de, K, V> Deserialize<'de> for SecondaryMap<K, V> where
K: EntityRef,
V: Clone + Deserialize<'de>,
impl<'de, K, V> Deserialize<'de> for SecondaryMap<K, V> where
K: EntityRef,
V: Clone + Deserialize<'de>,
Deserialize this value from the given Serde deserializer. Read more
Immutable indexing into an SecondaryMap
.
All keys are permitted. Untouched entries have the default value.
Mutable indexing into an SecondaryMap
.
The map grows as needed to accommodate new keys.
impl<K, V> PartialEq<SecondaryMap<K, V>> for SecondaryMap<K, V> where
K: EntityRef,
V: Clone + PartialEq,
impl<K, V> PartialEq<SecondaryMap<K, V>> for SecondaryMap<K, V> where
K: EntityRef,
V: Clone + PartialEq,
Auto Trait Implementations
impl<K, V> RefUnwindSafe for SecondaryMap<K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for SecondaryMap<K, V> where
K: Send,
V: Send,
impl<K, V> Sync for SecondaryMap<K, V> where
K: Sync,
V: Sync,
impl<K, V> Unpin for SecondaryMap<K, V> where
K: Unpin,
V: Unpin,
impl<K, V> UnwindSafe for SecondaryMap<K, V> where
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more