pub struct VisitCallbacks<State, Link, Marker, Policy = DefaultContextPolicy> { /* private fields */ }Expand description
A reusable callback visitor with shared user state.
Implementations§
Source§impl<State, Link, Marker> VisitCallbacks<State, Link, Marker>where
Link: VisitChainLink<State, Marker>,
impl<State, Link, Marker> VisitCallbacks<State, Link, Marker>where
Link: VisitChainLink<State, Marker>,
Source§impl<State, Link, Marker, Policy> VisitCallbacks<State, Link, Marker, Policy>
impl<State, Link, Marker, Policy> VisitCallbacks<State, Link, Marker, Policy>
Sourcepub fn with_policy<P: ContextPolicy<State>>(
self,
policy: P,
) -> VisitCallbacks<State, Link, Marker, P>
pub fn with_policy<P: ContextPolicy<State>>( self, policy: P, ) -> VisitCallbacks<State, Link, Marker, P>
Set the default-recursion policy while retaining the callbacks and state.
A matched callback enters the policy only when it calls visit_children().
Sourcepub fn state_mut(&mut self) -> &mut State
pub fn state_mut(&mut self) -> &mut State
Mutable access to the callback state outside an active recursive call.
Sourcepub fn into_state(self) -> State
pub fn into_state(self) -> State
Consume the visitor and return its state.
Trait Implementations§
Source§impl<State, Link, Marker, Policy> StructuralVisitor for VisitCallbacks<State, Link, Marker, Policy>where
Link: VisitChainLink<State, Marker>,
Policy: ContextPolicy<State>,
impl<State, Link, Marker, Policy> StructuralVisitor for VisitCallbacks<State, Link, Marker, Policy>where
Link: VisitChainLink<State, Marker>,
Policy: ContextPolicy<State>,
Source§fn visit(
&mut self,
value: &StructuralView,
def_region_kind: DefRegionKind,
) -> Result<Option<VisitInterrupt>>
fn visit( &mut self, value: &StructuralView, def_region_kind: DefRegionKind, ) -> Result<Option<VisitInterrupt>>
Visit one value under the definition-region state active at it.
Source§fn default_visit_children(
&mut self,
value: &StructuralView,
def_region_kind: DefRegionKind,
) -> Result<Option<VisitInterrupt>>
fn default_visit_children( &mut self, value: &StructuralView, def_region_kind: DefRegionKind, ) -> Result<Option<VisitInterrupt>>
Visit
value’s children with the default structural rules.Source§fn visit_child<T>(
&mut self,
child: &T,
def_region_kind: DefRegionKind,
) -> Result<Option<VisitInterrupt>>
fn visit_child<T>( &mut self, child: &T, def_region_kind: DefRegionKind, ) -> Result<Option<VisitInterrupt>>
Visit
child under def_region_kind.Auto Trait Implementations§
impl<State, Link, Marker, Policy = DefaultContextPolicy> !Send for VisitCallbacks<State, Link, Marker, Policy>
impl<State, Link, Marker, Policy = DefaultContextPolicy> !Sync for VisitCallbacks<State, Link, Marker, Policy>
impl<State, Link, Marker, Policy> Freeze for VisitCallbacks<State, Link, Marker, Policy>where
State: Freeze,
impl<State, Link, Marker, Policy> RefUnwindSafe for VisitCallbacks<State, Link, Marker, Policy>
impl<State, Link, Marker, Policy> Unpin for VisitCallbacks<State, Link, Marker, Policy>where
State: Unpin,
impl<State, Link, Marker, Policy> UnsafeUnpin for VisitCallbacks<State, Link, Marker, Policy>where
State: UnsafeUnpin,
impl<State, Link, Marker, Policy> UnwindSafe for VisitCallbacks<State, Link, Marker, Policy>
Blanket Implementations§
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