Struct rustc_data_structures::indexed_set::IdxSet [−][src]
pub struct IdxSet<T: Idx> { /* fields omitted */ }
Represents a set (or packed family of sets), of some element type
E, where each E is identified by some unique index type T
.
In other words, T
is the type used to index into the bitslice
this type uses to represent the set of object it holds.
Methods
impl<T: Idx> IdxSet<T>
[src]
impl<T: Idx> IdxSet<T>
pub fn to_owned(&self) -> IdxSetBuf<T>
[src]
pub fn to_owned(&self) -> IdxSetBuf<T>
pub fn clear(&mut self)
[src]
pub fn clear(&mut self)
Removes all elements
pub fn set_up_to(&mut self, universe_size: usize)
[src]
pub fn set_up_to(&mut self, universe_size: usize)
Sets all elements up to universe_size
pub fn remove(&mut self, elem: &T) -> bool
[src]
pub fn remove(&mut self, elem: &T) -> bool
Removes elem
from the set self
; returns true iff this changed self
.
pub fn add(&mut self, elem: &T) -> bool
[src]
pub fn add(&mut self, elem: &T) -> bool
Adds elem
to the set self
; returns true iff this changed self
.
ⓘImportant traits for &'a mut Rpub fn range(&self, elems: &Range<T>) -> &Self
[src]
pub fn range(&self, elems: &Range<T>) -> &Self
ⓘImportant traits for &'a mut Rpub fn range_mut(&mut self, elems: &Range<T>) -> &mut Self
[src]
pub fn range_mut(&mut self, elems: &Range<T>) -> &mut Self
pub fn contains(&self, elem: &T) -> bool
[src]
pub fn contains(&self, elem: &T) -> bool
Returns true iff set self
contains elem
.
pub fn words(&self) -> &[Word]
[src]
pub fn words(&self) -> &[Word]
pub fn words_mut(&mut self) -> &mut [Word]
[src]
pub fn words_mut(&mut self) -> &mut [Word]
pub fn overwrite(&mut self, other: &IdxSet<T>)
[src]
pub fn overwrite(&mut self, other: &IdxSet<T>)
Efficiently overwrite self
with other
. Panics if self
and other
don't have the same length.
pub fn union(&mut self, other: &IdxSet<T>) -> bool
[src]
pub fn union(&mut self, other: &IdxSet<T>) -> bool
Set self = self | other
and return true if self
changed
(i.e., if new bits were added).
pub fn subtract(&mut self, other: &IdxSet<T>) -> bool
[src]
pub fn subtract(&mut self, other: &IdxSet<T>) -> bool
Set self = self - other
and return true if self
changed.
(i.e., if any bits were removed).
pub fn intersect(&mut self, other: &IdxSet<T>) -> bool
[src]
pub fn intersect(&mut self, other: &IdxSet<T>) -> bool
Set self = self & other
and return true if self
changed.
(i.e., if any bits were removed).
ⓘImportant traits for Iter<'a, T>pub fn iter(&self) -> Iter<T>
[src]
pub fn iter(&self) -> Iter<T>
Trait Implementations
impl<T: Idx> Borrow<IdxSet<T>> for IdxSetBuf<T>
[src]
impl<T: Idx> Borrow<IdxSet<T>> for IdxSetBuf<T>
impl<T: Idx> BorrowMut<IdxSet<T>> for IdxSetBuf<T>
[src]
impl<T: Idx> BorrowMut<IdxSet<T>> for IdxSetBuf<T>
fn borrow_mut(&mut self) -> &mut IdxSet<T>
[src]
fn borrow_mut(&mut self) -> &mut IdxSet<T>
Mutably borrows from an owned value. Read more
impl<T: Idx> ToOwned for IdxSet<T>
[src]
impl<T: Idx> ToOwned for IdxSet<T>
type Owned = IdxSetBuf<T>
fn to_owned(&self) -> Self::Owned
[src]
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut Self::Owned)
[src]
fn clone_into(&self, target: &mut Self::Owned)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T: Idx> Debug for IdxSet<T>
[src]
impl<T: Idx> Debug for IdxSet<T>