pub enum PathOp {
Attr(RawId),
Concat,
Union,
Star,
Plus,
}Expand description
Postfix-encoded path operations (used by the path! macro).
The macro compiles a path expression into a sequence of these
operations. RegularPathConstraint::new converts the postfix
sequence into a tree for evaluation.
Variants§
Attr(RawId)
Single-attribute hop: traverse the given attribute.
Concat
Concatenation: compose the two preceding sub-expressions.
Union
Alternation: match either of the two preceding sub-expressions.
Star
Reflexive-transitive closure (*): zero or more repetitions.
Plus
Transitive closure (+): one or more repetitions.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PathOp
impl RefUnwindSafe for PathOp
impl Send for PathOp
impl Sync for PathOp
impl Unpin for PathOp
impl UnsafeUnpin for PathOp
impl UnwindSafe for PathOp
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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