Struct regex_automata::util::sparse_set::SparseSets
source · pub(crate) struct SparseSets {
pub(crate) set1: SparseSet,
pub(crate) set2: SparseSet,
}
Expand description
A pairse of sparse sets.
This is useful when one needs to compute NFA epsilon closures from a previous set of states derived from an epsilon closure. One set can be the starting states where as the other set can be the destination states after following the transitions for a particular byte of input.
There is no significance to ‘set1’ or ‘set2’. They are both sparse sets of the same size.
The members of this struct are exposed so that callers may borrow ‘set1’ and ‘set2’ individually without being force to borrow both at the same time.
Fields§
§set1: SparseSet
§set2: SparseSet
Implementations§
source§impl SparseSets
impl SparseSets
sourcepub(crate) fn new(capacity: usize) -> SparseSets
pub(crate) fn new(capacity: usize) -> SparseSets
Create a new pair of sparse sets where each set has the given capacity.
This panics if the capacity given is bigger than StateID::LIMIT
.
sourcepub(crate) fn resize(&mut self, new_capacity: usize)
pub(crate) fn resize(&mut self, new_capacity: usize)
Resizes these sparse sets to have the new capacity given.
The sets are automatically cleared.
This panics if the capacity given is bigger than StateID::LIMIT
.
sourcepub(crate) fn memory_usage(&self) -> usize
pub(crate) fn memory_usage(&self) -> usize
Returns the memory usage, in bytes, used by this pair of sparse sets.
Trait Implementations§
source§impl Clone for SparseSets
impl Clone for SparseSets
source§fn clone(&self) -> SparseSets
fn clone(&self) -> SparseSets
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more