struct PathComposite;Trait Implementations§
Source§impl LazyMapMonoid for PathComposite
impl LazyMapMonoid for PathComposite
type Key = (MInt<Modulo998244353>, MInt<Modulo998244353>)
type Agg = ((MInt<Modulo998244353>, MInt<Modulo998244353>), (MInt<Modulo998244353>, MInt<Modulo998244353>))
type Act = ()
type AggMonoid = BidirectionalAffine
type ActMonoid = ()
type KeyAct = EmptyAct<(MInt<Modulo998244353>, MInt<Modulo998244353>)>
fn single_agg(key: &Self::Key) -> Self::Agg
fn toggle(value: &mut Self::Agg)
fn act_agg(value: &Self::Agg, _action: &Self::Act) -> Option<Self::Agg>
fn is_act_unit(act: &Self::Act) -> bool
fn act_key(x: &Self::Key, a: &Self::Act) -> Self::Key
fn agg_unit() -> Self::Agg
fn act_unit() -> Self::Act
fn agg_operate(x: &Self::Agg, y: &Self::Agg) -> Self::Agg
fn act_operate(x: &Self::Act, y: &Self::Act) -> Self::Act
fn agg_operate_assign(x: &mut Self::Agg, y: &Self::Agg)
fn act_operate_assign(x: &mut Self::Act, y: &Self::Act)
Source§impl TopTreeSpec for PathComposite
impl TopTreeSpec for PathComposite
type Info = (MInt<Modulo998244353>, MInt<Modulo998244353>)
type Point = ()
type Path = ((MInt<Modulo998244353>, MInt<Modulo998244353>), (MInt<Modulo998244353>, MInt<Modulo998244353>))
fn vertex(info: &Self::Info) -> Self::Path
fn add_vertex(_point: &Self::Point, info: &Self::Info) -> Self::Path
fn add_edge(_path: &Self::Path) -> Self::Point
fn rake(_left: &Self::Point, _right: &Self::Point) -> Self::Point
fn compress(left: &Self::Path, right: &Self::Path) -> Self::Path
fn reverse(path: &mut Self::Path)
Auto Trait Implementations§
impl Freeze for PathComposite
impl RefUnwindSafe for PathComposite
impl Send for PathComposite
impl Sync for PathComposite
impl Unpin for PathComposite
impl UnsafeUnpin for PathComposite
impl UnwindSafe for PathComposite
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