Struct rustc_data_structures::sorted_map::SortedMap[][src]

pub struct SortedMap<K: Ord, V> { /* fields omitted */ }

SortedMap is a data structure with similar characteristics as BTreeMap but slightly different trade-offs: lookup, inseration, and removal are O(log(N)) and elements can be iterated in order cheaply.

SortedMap can be faster than a BTreeMap for small sizes (<50) since it stores data in a more compact way. It also supports accessing contiguous ranges of elements as a slice, and slices of already sorted elements can be inserted efficiently.

Methods

impl<K: Ord, V> SortedMap<K, V>
[src]

Construct a SortedMap from a presorted set of elements. This is faster than creating an empty map and then inserting the elements individually.

It is up to the caller to make sure that the elements are sorted by key and that there are no duplicates.

Important traits for Iter<'a, T>

Iterate over elements, sorted by key

Iterate over the keys, sorted

Iterate over values, sorted by key

Important traits for &'a [u8]

Mutate all keys with the given function f. This mutation must not change the sort-order of keys.

Inserts a presorted range of elements into the map. If the range can be inserted as a whole in between to existing elements of the map, this will be faster than inserting the elements individually.

It is up to the caller to make sure that the elements are sorted by key and that there are no duplicates.

Trait Implementations

impl<K: Clone + Ord, V: Clone> Clone for SortedMap<K, V>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<K: PartialEq + Ord, V: PartialEq> PartialEq for SortedMap<K, V>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<K: Eq + Ord, V: Eq> Eq for SortedMap<K, V>
[src]

impl<K: PartialOrd + Ord, V: PartialOrd> PartialOrd for SortedMap<K, V>
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<K: Ord + Ord, V: Ord> Ord for SortedMap<K, V>
[src]

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl<K: Hash + Ord, V: Hash> Hash for SortedMap<K, V>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<K: Default + Ord, V: Default> Default for SortedMap<K, V>
[src]

Returns the "default value" for a type. Read more

impl<K: Debug + Ord, V: Debug> Debug for SortedMap<K, V>
[src]

Formats the value using the given formatter. Read more

impl<K: Encodable + Ord, V: Encodable> Encodable for SortedMap<K, V>
[src]

impl<K: Decodable + Ord, V: Decodable> Decodable for SortedMap<K, V>
[src]

impl<K: Ord, V> IntoIterator for SortedMap<K, V>
[src]

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<K: Ord, V, Q: Borrow<K>> Index<Q> for SortedMap<K, V>
[src]

The returned type after indexing.

Performs the indexing (container[index]) operation.

impl<K: Ord, V, Q: Borrow<K>> IndexMut<Q> for SortedMap<K, V>
[src]

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

impl<K: Ord, V, I: Iterator<Item = (K, V)>> From<I> for SortedMap<K, V>
[src]

Performs the conversion.

Auto Trait Implementations

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

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