17 #ifndef CANONICAL_TERM_CONSUMER_GUARD 18 #define CANONICAL_TERM_CONSUMER_GUARD virtual void consume(const Term &term)
Consume a term.
virtual void beginConsumingList()
This method is not required to be called.
virtual void doneConsuming()
Must be called once after each time beginConsuming has been called.
Represents a monomial ideal with int exponents.
virtual void doneConsumingList()
Must be called once after each time beginConsumingList has been called.
auto_ptr< TermConsumer > _consumer
Defines the variables of a polynomial ring and facilities IO involving them.
virtual void beginConsuming()
Tell the consumer to begin consuming an ideal.
This class is used to transfer terms one at a time from one part of the program to another...
vector< Ideal * > _ideals
void canonicalizeIdeal(Ideal &ideal)
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...
Passes consumed items on in a canonical order.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
ElementDeleter< vector< Ideal * > > _idealsDeleter
TermTranslator * _translator
Term represents a product of variables which does not include a coefficient.
virtual void consumeRing(const VarNames &names)
Passes on the call immediately.