17 #ifndef CANONICAL_TERM_CONSUMER_GUARD
18 #define CANONICAL_TERM_CONSUMER_GUARD
Passes consumed items on in a canonical order.
void canonicalizeIdeal(Ideal &ideal)
virtual void consume(const Term &term)
Consume a term.
virtual void beginConsumingList()
This method is not required to be called.
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
CanonicalTermConsumer(auto_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...
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.
auto_ptr< TermConsumer > _consumer
Represents a monomial ideal with int exponents.
This class is used to transfer terms one at a time from one part of the program to another,...
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Term represents a product of variables which does not include a coefficient.
Defines the variables of a polynomial ring and facilities IO involving them.