[][src]Struct competitive_programming_rs::data_structure::lazy_segment_tree::lazy_segment_tree::LazySegmentTree

pub struct LazySegmentTree<F> where
    F: MapMonoid
{ /* fields omitted */ }

Implementations

impl<F: MapMonoid> LazySegmentTree<F>[src]

pub fn new(n: usize) -> Self[src]

pub fn set(&mut self, index: usize, value: <F::M as Monoid>::S)[src]

pub fn get(&mut self, index: usize) -> <F::M as Monoid>::S[src]

pub fn prod(&mut self, range: Range<usize>) -> <F::M as Monoid>::S[src]

pub fn all_prod(&self) -> <F::M as Monoid>::S[src]

pub fn apply(&mut self, index: usize, f: F::F)[src]

pub fn apply_range(&mut self, range: Range<usize>, f: F::F)[src]

Auto Trait Implementations

impl<F> RefUnwindSafe for LazySegmentTree<F> where
    <F as MapMonoid>::F: RefUnwindSafe,
    <<F as MapMonoid>::M as Monoid>::S: RefUnwindSafe
[src]

impl<F> Send for LazySegmentTree<F> where
    <F as MapMonoid>::F: Send,
    <<F as MapMonoid>::M as Monoid>::S: Send
[src]

impl<F> Sync for LazySegmentTree<F> where
    <F as MapMonoid>::F: Sync,
    <<F as MapMonoid>::M as Monoid>::S: Sync
[src]

impl<F> Unpin for LazySegmentTree<F> where
    <F as MapMonoid>::F: Unpin,
    <<F as MapMonoid>::M as Monoid>::S: Unpin
[src]

impl<F> UnwindSafe for LazySegmentTree<F> where
    <F as MapMonoid>::F: UnwindSafe,
    <<F as MapMonoid>::M as Monoid>::S: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.