pub trait IndexExt: Sized {
// Required methods
fn new() -> Self;
fn add(&mut self, other: Index);
fn mark_invalid(&mut self);
fn add_term(&mut self, term: Term, value: usize);
fn add_mapping<I>(&mut self, value: usize)
where I: M;
fn ident_value(&self, ident: Ident) -> RResult<usize, IndexValueError>;
fn finalize(self) -> RResult<RSortedMap<Term, usize>, ()>;
fn gen_indexes(&self, mapping: FMapping) -> RVec<Index>;
}Expand description
Methods for Index.
Required Methods§
Sourcefn mark_invalid(&mut self)
fn mark_invalid(&mut self)
Marks this index as invalid.
Sourcefn add_mapping<I>(&mut self, value: usize)where
I: M,
fn add_mapping<I>(&mut self, value: usize)where
I: M,
Adds a mapping to this index.
Sourcefn ident_value(&self, ident: Ident) -> RResult<usize, IndexValueError>
fn ident_value(&self, ident: Ident) -> RResult<usize, IndexValueError>
Returns the contribution of a specific ident to this Index.
Sourcefn gen_indexes(&self, mapping: FMapping) -> RVec<Index>
fn gen_indexes(&self, mapping: FMapping) -> RVec<Index>
Generates all possible indexes based on the given mapping.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.