[][src]Struct specs::BitSet

pub struct BitSet { /* fields omitted */ }

A BitSet is a simple set designed to track which indices are placed into it.

Note, a BitSet is limited by design to only usize**4 indices. Adding beyond this limit will cause the BitSet to panic.

Methods

impl BitSet[src]

pub fn new() -> BitSet[src]

Creates an empty BitSet.

pub fn with_capacity(max: u32) -> BitSet[src]

Creates an empty BitSet, preallocated for up to max indices.

pub fn add(&mut self, id: u32) -> bool[src]

Adds id to the BitSet. Returns true if the value was already in the set.

pub fn remove(&mut self, id: u32) -> bool[src]

Removes id from the set, returns true if the value was removed, and false if the value was not set to begin with.

pub fn contains(&self, id: u32) -> bool[src]

Returns true if id is in the set.

pub fn contains_set(&self, other: &BitSet) -> bool[src]

Returns true if all ids in other are contained in this set

pub fn clear(&mut self)[src]

Completely wipes out the bit set.

Trait Implementations

impl<'a, B> BitOrAssign<&'a B> for BitSet where
    B: BitSetLike
[src]

impl BitSetLike for BitSet[src]

impl<T> BitOr<T> for BitSet where
    T: BitSetLike
[src]

type Output = BitSetOr<BitSet, T>

The resulting type after applying the | operator.

impl<'a, T> BitOr<T> for &'a BitSet where
    T: BitSetLike
[src]

type Output = BitSetOr<&'a BitSet, T>

The resulting type after applying the | operator.

impl<T> BitXor<T> for BitSet where
    T: BitSetLike
[src]

type Output = BitSetXor<BitSet, T>

The resulting type after applying the ^ operator.

impl<'a, T> BitXor<T> for &'a BitSet where
    T: BitSetLike
[src]

type Output = BitSetXor<&'a BitSet, T>

The resulting type after applying the ^ operator.

impl<'a> Extend<&'a u32> for BitSet[src]

impl Extend<u32> for BitSet[src]

impl<'a> Not for &'a BitSet[src]

type Output = BitSetNot<&'a BitSet>

The resulting type after applying the ! operator.

impl Not for BitSet[src]

type Output = BitSetNot<BitSet>

The resulting type after applying the ! operator.

impl DrainableBitSet for BitSet[src]

impl Eq for BitSet[src]

impl Clone for BitSet[src]

impl<'a, B> BitAndAssign<&'a B> for BitSet where
    B: BitSetLike
[src]

impl<'a, T> BitAnd<T> for &'a BitSet where
    T: BitSetLike
[src]

type Output = BitSetAnd<&'a BitSet, T>

The resulting type after applying the & operator.

impl<T> BitAnd<T> for BitSet where
    T: BitSetLike
[src]

type Output = BitSetAnd<BitSet, T>

The resulting type after applying the & operator.

impl<'a> FromIterator<&'a u32> for BitSet[src]

impl FromIterator<u32> for BitSet[src]

impl Debug for BitSet[src]

impl Default for BitSet[src]

impl<'a> IntoIterator for &'a BitSet[src]

type Item = <BitIter<&'a BitSet> as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = BitIter<&'a BitSet>

Which kind of iterator are we turning this into?

impl IntoIterator for BitSet[src]

type Item = <BitIter<BitSet> as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = BitIter<BitSet>

Which kind of iterator are we turning this into?

impl<'a, B> BitXorAssign<&'a B> for BitSet where
    B: BitSetLike
[src]

impl PartialEq<BitSet> for BitSet[src]

impl ParJoin for BitSet[src]

impl<'a> ParJoin for &'a BitSet[src]

impl Join for BitSet[src]

type Type = Index

Type of joined components.

type Value = ()

Type of joined storages.

type Mask = BitSet

Type of joined bit mask.

impl<'a> Join for &'a BitSet[src]

type Type = Index

Type of joined components.

type Value = ()

Type of joined storages.

type Mask = &'a BitSet

Type of joined bit mask.

Auto Trait Implementations

impl Send for BitSet

impl Unpin for BitSet

impl Sync for BitSet

impl UnwindSafe for BitSet

impl RefUnwindSafe for BitSet

Blanket Implementations

impl<T> TryDefault for T where
    T: Default
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Resource for T where
    T: Any + Send + Sync
[src]

impl<T> Event for T where
    T: Send + Sync + 'static, 
[src]