pub enum TraversalStrategy {
TopDown,
BottomUp,
Innermost,
Fixpoint {
max_iterations: usize,
},
}Expand description
Traversal ordering for rule matches.
Variants§
TopDown
Parents before children.
BottomUp
Children before parents.
Innermost
Only matches that do not contain another match.
Fixpoint
Re-apply a mutable visitor until it reports no changes or reaches the cap.
Implementations§
Source§impl TraversalStrategy
impl TraversalStrategy
Sourcepub fn matches(
self,
network: &LinkNetwork,
rule: &LinkRule,
registry: &LinkRuleRegistry,
) -> Vec<LinkRuleMatch>
pub fn matches( self, network: &LinkNetwork, rule: &LinkRule, registry: &LinkRuleRegistry, ) -> Vec<LinkRuleMatch>
Returns rule matches ordered by this strategy.
Sourcepub fn apply_mut<F>(
self,
network: &mut LinkNetwork,
rule: &LinkRule,
registry: &LinkRuleRegistry,
visitor: F,
) -> TraversalReport
pub fn apply_mut<F>( self, network: &mut LinkNetwork, rule: &LinkRule, registry: &LinkRuleRegistry, visitor: F, ) -> TraversalReport
Visits matches according to this strategy. Fixpoint repeats until the
visitor returns no changes.
Trait Implementations§
Source§impl Clone for TraversalStrategy
impl Clone for TraversalStrategy
Source§fn clone(&self) -> TraversalStrategy
fn clone(&self) -> TraversalStrategy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TraversalStrategy
impl Debug for TraversalStrategy
Source§impl PartialEq for TraversalStrategy
impl PartialEq for TraversalStrategy
impl Copy for TraversalStrategy
impl Eq for TraversalStrategy
impl StructuralPartialEq for TraversalStrategy
Auto Trait Implementations§
impl Freeze for TraversalStrategy
impl RefUnwindSafe for TraversalStrategy
impl Send for TraversalStrategy
impl Sync for TraversalStrategy
impl Unpin for TraversalStrategy
impl UnsafeUnpin for TraversalStrategy
impl UnwindSafe for TraversalStrategy
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.