pub struct RangeMap<T> {
    v: Vec<Elem<T>>,
}

Fields

v: Vec<Elem<T>>

Implementations

Creates a new RangeMap for the given size, and with the given initial value used for the entire range.

Finds the index containing the given offset.

Provides read-only iteration over everything in the given range. This does not split items if they overlap with the edges. Do not use this to mutate through interior mutability.

The iterator also provides the offset of the given element.

Provides mutable iteration over everything in the given range. As a side-effect, this will split entries in the map that are only partially hit by the given range, to make sure that when they are mutated, the effect is constrained to the given range. Moreover, this will opportunistically merge neighbouring equal blocks.

The iterator also provides the offset of the given element.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Layout

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes