pub struct SeekByRaccCond<Spec, L, F>where
L: LazyMapMonoid,{
acc: L::Agg,
f: F,
_marker: PhantomData<fn() -> (Spec, L)>,
}Fields§
§acc: L::Agg§f: F§_marker: PhantomData<fn() -> (Spec, L)>Implementations§
Source§impl<Spec, L, F> SeekByRaccCond<Spec, L, F>
impl<Spec, L, F> SeekByRaccCond<Spec, L, F>
Sourcepub fn new(f: F) -> Self
pub fn new(f: F) -> Self
Examples found in repository?
crates/competitive/src/data_structure/treap.rs (line 447)
441 pub fn find_by_racc_cond<F>(&mut self, f: F) -> Option<BstNodeId<TreapSpec<M, L>>>
442 where
443 F: FnMut(&L::Agg) -> bool,
444 {
445 let split = Split::new(
446 &mut self.root,
447 SeekByRaccCond::<TreapSpec<M, L>, L, F>::new(f),
448 EqualSide::Left,
449 );
450 let node = split.left()?.rightmost();
451 self.node_id_manager.registered_node_id(node)
452 }More examples
Trait Implementations§
Source§impl<Spec, L, F> BstSeeker for SeekByRaccCond<Spec, L, F>where
Spec: BstSpec<Data: BstDataAccess<LazyMap, Value = LazyMapElement<L>>>,
L: LazyMapMonoid,
F: FnMut(&L::Agg) -> bool,
impl<Spec, L, F> BstSeeker for SeekByRaccCond<Spec, L, F>where
Spec: BstSpec<Data: BstDataAccess<LazyMap, Value = LazyMapElement<L>>>,
L: LazyMapMonoid,
F: FnMut(&L::Agg) -> bool,
Auto Trait Implementations§
impl<Spec, L, F> Freeze for SeekByRaccCond<Spec, L, F>
impl<Spec, L, F> RefUnwindSafe for SeekByRaccCond<Spec, L, F>where
<L as LazyMapMonoid>::Agg: RefUnwindSafe,
F: RefUnwindSafe,
PhantomData<fn() -> (Spec, L)>: RefUnwindSafe,
impl<Spec, L, F> Send for SeekByRaccCond<Spec, L, F>
impl<Spec, L, F> Sync for SeekByRaccCond<Spec, L, F>
impl<Spec, L, F> Unpin for SeekByRaccCond<Spec, L, F>
impl<Spec, L, F> UnsafeUnpin for SeekByRaccCond<Spec, L, F>where
<L as LazyMapMonoid>::Agg: UnsafeUnpin,
F: UnsafeUnpin,
PhantomData<fn() -> (Spec, L)>: UnsafeUnpin,
impl<Spec, L, F> UnwindSafe for SeekByRaccCond<Spec, L, F>where
<L as LazyMapMonoid>::Agg: UnwindSafe,
F: UnwindSafe,
PhantomData<fn() -> (Spec, L)>: UnwindSafe,
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