Class HashingAccumulator

Class Documentation

class HashingAccumulator

utility for eagerly accumulating summands in a hash table Intended to accumulate summands that are already in canonical form and produces canonical Sum

Public Functions

HashingAccumulator &append(ExprPtr summand, bool flatten = true)

summand expr to append to the sum flatten if true, and summand is a Sum, will flatten the sum

SumPtr make_sum()
SumPtr make_canonicalized_sum()
ExprPtr make_expr(bool canonicalize = true)
Parameters:

canonicalize – if true, will sort the summands to canonical order defined by ExprPtr::operator<

Returns:

summands as a Sum (if have more than 1 summand), Constant (if have zero summands), or the lone summand itself

inline bool empty() const