47 mpz_class& ref =
_terms[term];
56 mpz_class& ref =
_terms[term];
70 bool operator()(TermMap::const_iterator a, TermMap::const_iterator b) {
79 bool inCanonicalOrder)
const {
84 if (!inCanonicalOrder) {
86 TermMap::const_iterator termsEnd = _terms.end();
87 TermMap::const_iterator it = _terms.begin();
88 for (; it != termsEnd; ++it)
89 consumer.
consume(it->second, it->first, translator);
95 vector<TermMap::const_iterator> refs;
96 refs.reserve(_terms.size());
98 TermMap::const_iterator termsEnd = _terms.end();
99 TermMap::const_iterator it = _terms.begin();
100 for (; it != termsEnd; ++it)
104 sort(refs.begin(), refs.end(), RefCompare());
108 vector<TermMap::const_iterator>::const_iterator refsEnd = refs.end();
109 vector<TermMap::const_iterator>::const_iterator refIt = refs.begin();
110 for (; refIt != refsEnd; ++refIt)
111 consumer.
consume((*refIt)->second, (*refIt)->first, translator);