pub struct Sum {
pub args: Vec<Expr>,
}
Fields§
§args: Vec<Expr>
Implementations§
source§impl Sum
impl Sum
pub fn add_rhs(&mut self, rhs: &Expr)
fn add_rhs_raw(&mut self, rhs: &Expr)
fn cmp_args(lhs: &Expr, rhs: &Expr) -> Ordering
fn add_sorted(lhs: &Expr, rhs: &Expr) -> Sum
fn flat_merge(lhs: &Expr, rhs: Sum) -> Sum
fn merge_args(p: &[Expr], q: &[Expr]) -> Sum
pub(crate) fn reduce_rec(args: &[Expr]) -> Sum
Trait Implementations§
source§impl<'de> Deserialize<'de> for Sum
impl<'de> Deserialize<'de> for Sum
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for Sum
impl Ord for Sum
source§impl PartialOrd for Sum
impl PartialOrd for Sum
source§impl SymbolicExpr for Sum
impl SymbolicExpr for Sum
source§fn reduce(&self) -> Expr
fn reduce(&self) -> Expr
basic simplification that can be applied regardless of context Read more
fn args(&self) -> &[Expr]
fn args_mut(&mut self) -> &mut [Expr]
fn is_atom(&self) -> bool
fn n_args(&self) -> usize
fn iter_args(&self) -> impl Iterator<Item = &Expr>
fn map_args(self, map_fn: impl Fn(&mut Expr)) -> Self
impl Eq for Sum
Auto Trait Implementations§
impl Freeze for Sum
impl RefUnwindSafe for Sum
impl !Send for Sum
impl !Sync for Sum
impl Unpin for Sum
impl UnwindSafe for Sum
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)