Struct boa_engine::builtins::map::ordered_map::OrderedMap
source · pub struct OrderedMap<V> { /* private fields */ }
Expand description
A structure wrapping indexmap::IndexMap
.
Implementations§
source§impl<V> OrderedMap<V>
impl<V> OrderedMap<V>
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Creates a new empty OrderedMap
with the specified capacity.
sourcepub fn full_len(&self) -> usize
pub fn full_len(&self) -> usize
Return the number of key-value pairs in the map, including empty values.
Computes in O(1) time.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Gets the number of key-value pairs in the map, not including empty values.
Computes in O(1) time.
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if the map contains no elements.
Computes in O(1) time.
sourcepub fn insert(&mut self, key: JsValue, value: V) -> Option<V>
pub fn insert(&mut self, key: JsValue, value: V) -> Option<V>
Insert a key-value pair in the map.
If an equivalent key already exists in the map: the key remains and
retains in its place in the order, its corresponding value is updated
with value
and the older value is returned inside Some(_)
.
If no equivalent key existed in the map: the new key-value pair is
inserted, last in order, and None
is returned.
Computes in O(1) time (amortized average).
sourcepub fn remove(&mut self, key: &JsValue) -> Option<V>
pub fn remove(&mut self, key: &JsValue) -> Option<V>
Remove the key-value pair equivalent to key
and return
its value.
Like Vec::remove
, the pair is removed by shifting all of the
elements that follow it, preserving their relative order.
This perturbs the index of all of those elements!
Return None
if key
is not in map.
Computes in O(n) time (average).
sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Removes all elements from the map and resets the counter of empty entries.
sourcepub fn get(&self, key: &JsValue) -> Option<&V>
pub fn get(&self, key: &JsValue) -> Option<&V>
Return a reference to the value stored for key
, if it is present,
else None
.
Computes in O(1) time (average).
sourcepub fn get_index(&self, index: usize) -> Option<(&JsValue, &V)>
pub fn get_index(&self, index: usize) -> Option<(&JsValue, &V)>
Get a key-value pair by index.
Valid indices are 0 <= index < self.full_len()
.
Computes in O(1) time.
sourcepub fn iter(&self) -> impl Iterator<Item = (&JsValue, &V)>
pub fn iter(&self) -> impl Iterator<Item = (&JsValue, &V)>
Return an iterator over the key-value pairs of the map, in their order
sourcepub fn contains_key(&self, key: &JsValue) -> bool
pub fn contains_key(&self, key: &JsValue) -> bool
Return true
if an equivalent to key
exists in the map.
Computes in O(1) time (average).
Trait Implementations§
source§impl<V: Clone> Clone for OrderedMap<V>
impl<V: Clone> Clone for OrderedMap<V>
source§fn clone(&self) -> OrderedMap<V>
fn clone(&self) -> OrderedMap<V>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<V: Debug> Debug for OrderedMap<V>
impl<V: Debug> Debug for OrderedMap<V>
source§impl<V> Default for OrderedMap<V>
impl<V> Default for OrderedMap<V>
source§impl<V: Trace> Trace for OrderedMap<V>
impl<V: Trace> Trace for OrderedMap<V>
source§unsafe fn trace_non_roots(&self)
unsafe fn trace_non_roots(&self)
source§fn run_finalizer(&self)
fn run_finalizer(&self)
Finalize::finalize
on this object and all
contained subobjects.impl<V> JsData for OrderedMap<V>
Auto Trait Implementations§
impl<V> !RefUnwindSafe for OrderedMap<V>
impl<V> !Send for OrderedMap<V>
impl<V> !Sync for OrderedMap<V>
impl<V> Unpin for OrderedMap<V>where
V: Unpin,
impl<V> !UnwindSafe for OrderedMap<V>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> NativeObject for T
impl<T> NativeObject for T
source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
NativeObject
to a &dyn Any
.source§fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
NativeObject
to a &mut dyn Any
.source§fn type_name_of_value(&self) -> &'static str
fn type_name_of_value(&self) -> &'static str
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.