/// Opt-in mutable access to [`IndexSet`] values. /// /// These methods expose `&mut T`, mutable references to the value as it is stored /// in the set. /// You are allowed to modify the values in the set **if the modification /// does not change the value’s hash and equality**. /// /// If values are modified erroneously, you can no longer look them up. /// This is sound (memory safe) but a logical error hazard (just like /// implementing `PartialEq`, `Eq`, or `Hash` incorrectly would be). /// /// `use` this trait to enable its methods for `IndexSet`. /// /// This trait is sealed and cannot be implemented for types outside this crate. pubtrait MutableValues: private::Sealed { type Value;
/// Return item index and mutable reference to the value /// /// Computes in **O(1)** time (average). fn get_full_mut2<Q>(&mutself, value: &Q) -> Option<(usize, &yle='color:red'>mutSelf::Value)> where
Q: ?Sized + Hash + Equivalent<Self::Value>;
/// Return mutable reference to the value at an index. /// /// Valid indices are *0 <= index < self.len()* /// /// Computes in **O(1)** time. fn get_index_mut2(&mutself, index: usize) -> Option<&mutSelf::Value>;
/// Scan through each value in the set and keep those where the /// closure `keep` returns `true`. /// /// The values are visited in order, and remaining values keep their order. /// /// Computes in **O(n)** time (average). fn retain2<F>(&mutself, keep: F) where
F: FnMut(&mutSelf::Value) -> bool;
}
/// Opt-in mutable access to [`IndexSet`] values. /// /// See [`MutableValues`] for more information. impl<T, S> MutableValues for IndexSet<T, S> where
S: BuildHasher,
{ type Value = T;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.