Struct specs::BitSet [] [src]

pub struct BitSet {
    // some fields omitted
}

A BitSet is a simple set designed to track entity indices for which a certain component exists. It does not track the Generation of the entities that it contains.

Note, a BitSet is limited by design to only 1,048,576 indices. Adding beyond this limit will cause the BitSet to panic.

Methods

impl BitSet
[src]

fn new() -> BitSet

Creates an empty BitSet.

fn with_capacity(max: Index) -> BitSet

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

fn add(&mut self, id: Index) -> bool

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

fn remove(&mut self, id: Index) -> bool

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

fn contains(&self, id: u32) -> bool

Returns true if id is in the set.

Trait Implementations

impl Clone for BitSet
[src]

fn clone(&self) -> BitSet

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl BitSetLike for BitSet
[src]

fn layer3(&self) -> u32

Return a u32 where each bit represents if any word in layer2 has been set. Read more

fn layer2(&self, i: usize) -> u32

Return the u32 from the array of u32s that indicates if any bit has been set in layer1 Read more

fn layer1(&self, i: usize) -> u32

Return the u32 from the array of u32s that indicates if any bit has been set in layer0 Read more

fn layer0(&self, i: usize) -> u32

Return a u32 that maps to the direct 1:1 association with each index of the set Read more

fn iter<'a>(&'a self) -> Iter<'a, Self> where Self: Sized

Create an iterator that will scan over the keyspace