Struct competitive_programming_rs::data_structure::lazy_segment_tree::lazy_segment_tree::LazySegmentTree [−][src]
Implementations
impl<S, Op, E, F, Mapping, Composition, Id> LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
S: Clone,
E: Fn() -> S,
F: Clone,
Op: Fn(&S, &S) -> S,
Mapping: Fn(&F, &S) -> S,
Composition: Fn(&F, &F) -> F,
Id: Fn() -> F,
[src]
S: Clone,
E: Fn() -> S,
F: Clone,
Op: Fn(&S, &S) -> S,
Mapping: Fn(&F, &S) -> S,
Composition: Fn(&F, &F) -> F,
Id: Fn() -> F,
pub fn new(
n: usize,
e: E,
op: Op,
mapping: Mapping,
composition: Composition,
id: Id
) -> Self
[src]
n: usize,
e: E,
op: Op,
mapping: Mapping,
composition: Composition,
id: Id
) -> Self
pub fn set(&mut self, mut index: usize, value: S)
[src]
pub fn get(&mut self, mut index: usize) -> S
[src]
pub fn prod(&mut self, range: Range<usize>) -> S
[src]
pub fn all_prod(&self) -> S
[src]
pub fn apply(&mut self, mut index: usize, f: F)
[src]
pub fn apply_range(&mut self, range: Range<usize>, f: F)
[src]
Auto Trait Implementations
impl<S, Op, E, F, Mapping, Composition, Id> RefUnwindSafe for LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
Composition: RefUnwindSafe,
E: RefUnwindSafe,
F: RefUnwindSafe,
Id: RefUnwindSafe,
Mapping: RefUnwindSafe,
Op: RefUnwindSafe,
S: RefUnwindSafe,
[src]
Composition: RefUnwindSafe,
E: RefUnwindSafe,
F: RefUnwindSafe,
Id: RefUnwindSafe,
Mapping: RefUnwindSafe,
Op: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, Op, E, F, Mapping, Composition, Id> Send for LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
Composition: Send,
E: Send,
F: Send,
Id: Send,
Mapping: Send,
Op: Send,
S: Send,
[src]
Composition: Send,
E: Send,
F: Send,
Id: Send,
Mapping: Send,
Op: Send,
S: Send,
impl<S, Op, E, F, Mapping, Composition, Id> Sync for LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
Composition: Sync,
E: Sync,
F: Sync,
Id: Sync,
Mapping: Sync,
Op: Sync,
S: Sync,
[src]
Composition: Sync,
E: Sync,
F: Sync,
Id: Sync,
Mapping: Sync,
Op: Sync,
S: Sync,
impl<S, Op, E, F, Mapping, Composition, Id> Unpin for LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
Composition: Unpin,
E: Unpin,
F: Unpin,
Id: Unpin,
Mapping: Unpin,
Op: Unpin,
S: Unpin,
[src]
Composition: Unpin,
E: Unpin,
F: Unpin,
Id: Unpin,
Mapping: Unpin,
Op: Unpin,
S: Unpin,
impl<S, Op, E, F, Mapping, Composition, Id> UnwindSafe for LazySegmentTree<S, Op, E, F, Mapping, Composition, Id> where
Composition: UnwindSafe,
E: UnwindSafe,
F: UnwindSafe,
Id: UnwindSafe,
Mapping: UnwindSafe,
Op: UnwindSafe,
S: UnwindSafe,
[src]
Composition: UnwindSafe,
E: UnwindSafe,
F: UnwindSafe,
Id: UnwindSafe,
Mapping: UnwindSafe,
Op: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,