72 vector<Ideal*>::iterator end =
_ideals.end();
73 for (vector<Ideal*>::iterator it =
_ideals.begin(); it != end; ++it)
96 unique_ptr<Ideal> ideal(
_ideals.back());
118 sort(ideal.
begin(), ideal.
end(), comparator);
void exceptionSafePushBack(Container &container, unique_ptr< Element > pointer)
void canonicalizeIdeal(Ideal &ideal)
unique_ptr< TermConsumer > _consumer
virtual void consume(const Term &term)
Consume a term.
virtual void beginConsumingList()
This method is not required to be called.
CanonicalTermConsumer(unique_ptr< TermConsumer > consumer, size_t varCount, TermTranslator *translator=0)
The translator, if non-null, is used to identify exponents that map to zero, which influences the sor...
TermTranslator * _translator
virtual void doneConsuming()
Must be called once after each time beginConsuming has been called.
virtual void beginConsuming()
Tell the consumer to begin consuming an ideal.
ElementDeleter< vector< Ideal * > > _idealsDeleter
vector< Ideal * > _ideals
virtual void consumeRing(const VarNames &names)
Passes on the call immediately.
virtual void doneConsumingList()
Must be called once after each time beginConsumingList has been called.
Represents a monomial ideal with int exponents.
Cont::const_iterator const_iterator
const_iterator end() const
const_iterator begin() const
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Term represents a product of variables which does not include a coefficient.
size_t getVarCount() const
A predicate that sorts according to reverse lexicographic order on the translated values of a term.
Defines the variables of a polynomial ring and facilities IO involving them.
This header file includes common definitions and is included as the first line of code in every imple...