Struct cranelift::prelude::codegen::entity::PrimaryMap[]

pub struct PrimaryMap<K, V> where
    K: EntityRef
{ /* fields omitted */ }

A primary mapping K -> V allocating dense entity references.

The PrimaryMap data structure uses the dense index space to implement a map with a vector.

A primary map contains the main definition of an entity, and it can be used to allocate new entity references with the push method.

There should only be a single PrimaryMap instance for a given EntityRef type, otherwise conflicting references will be created. Using unknown keys for indexing will cause a panic.

Methods

impl<K, V> PrimaryMap<K, V> where
    K: EntityRef

Create a new empty map.

Check if k is a valid key in the map.

Get the element at k if it exists.

Is this map completely empty?

Get the total number of entity references created.

Important traits for Keys<K>

Iterate over all the keys in this map.

Important traits for Iter<'a, T>

Iterate over all the values in this map.

Important traits for IterMut<'a, T>

Iterate over all the values in this map, mutable edition.

Important traits for Iter<'a, K, V>

Iterate over all the keys and values in this map.

Important traits for IterMut<'a, K, V>

Iterate over all the keys and values in this map, mutable edition.

Remove all entries from this map.

Get the key that will be assigned to the next pushed value.

Append v to the mapping, assigning a new key which is returned.

Trait Implementations

impl<K, V> IndexMut<K> for PrimaryMap<K, V> where
    K: EntityRef

Mutable indexing into an PrimaryMap.

Important traits for &'a mut R

Performs the mutable indexing (container[index]) operation.

impl<K, V> Index<K> for PrimaryMap<K, V> where
    K: EntityRef

Immutable indexing into an PrimaryMap. The indexed value must be in the map.

The returned type after indexing.

Important traits for &'a mut R

Performs the indexing (container[index]) operation.

impl<K, V> Clone for PrimaryMap<K, V> where
    K: Clone + EntityRef,
    V: Clone

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<K, V> Debug for PrimaryMap<K, V> where
    K: Debug + EntityRef,
    V: Debug

Formats the value using the given formatter. Read more

impl<'a, K, V> IntoIterator for &'a PrimaryMap<K, V> where
    K: EntityRef

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

impl<'a, K, V> IntoIterator for &'a mut PrimaryMap<K, V> where
    K: EntityRef

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

Auto Trait Implementations

impl<K, V> Send for PrimaryMap<K, V> where
    K: Send,
    V: Send

impl<K, V> Sync for PrimaryMap<K, V> where
    K: Sync,
    V: Sync