pub struct OrPolicy {
pub policies: Vec<Arc<dyn ExtensionPolicy>>,
}Expand description
Continue (extend) while ANY child policy says continue.
Stops only when every child policy returns None. The
delta is the maximum of the policies that said continue —
matches the most aggressive child still pushing forward.
Fields§
§policies: Vec<Arc<dyn ExtensionPolicy>>The policies of which any may ask to continue.
Trait Implementations§
Source§impl ExtensionPolicy for OrPolicy
impl ExtensionPolicy for OrPolicy
Source§fn next_extension(&self, ctx: &ExtensionContext) -> Option<u64>
fn next_extension(&self, ctx: &ExtensionContext) -> Option<u64>
Decide how to extend (if at all) given the current
cursor context.
Auto Trait Implementations§
impl !RefUnwindSafe for OrPolicy
impl !UnwindSafe for OrPolicy
impl Freeze for OrPolicy
impl Send for OrPolicy
impl Sync for OrPolicy
impl Unpin for OrPolicy
impl UnsafeUnpin for OrPolicy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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