Struct segment_tree::ops::Pair [] [src]

pub struct Pair<A, B> { /* fields omitted */ }

Store more information in each node.

Trait Implementations

impl<TA, TB, A: Operation<TA>, B: Operation<TB>> Operation<(TA, TB)> for Pair<A, B>
[src]

The operation that is performed to combine two intervals in the segment tree. Read more

Replace the value in a with combine(a, b). This function exists to allow certain optimizations and by default simply calls combine. Read more

Replace the value in a with combine(a, b). This function exists to allow certain optimizations and by default simply calls combine. Read more

Must return the same as combine. This function exists to allow certain optimizations and by default simply calls combine_mut. Read more

Must return the same as combine. This function exists to allow certain optimizations and by default simply calls combine_mut2. Read more

Must return the same as combine. This function exists to allow certain optimizations and by default simply calls combine_left. Read more

impl<TA, TB, A: Inverse<TA>, B: Inverse<TB>> Inverse<(TA, TB)> for Pair<A, B>
[src]

Returns some value such that combine(uncombine(a, b), b) = a.

impl<TA, TB, A: CommutativeOperation<TA>, B: CommutativeOperation<TB>> CommutativeOperation<(TA, TB)> for Pair<A, B>
[src]

impl<TA, TB, A: Identity<TA>, B: Identity<TB>> Identity<(TA, TB)> for Pair<A, B>
[src]

Returns any identity.