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