virtual void beginConsuming()
Tell the consumer to begin consuming an ideal.
virtual void consumeRing(const VarNames &names)
Tell the consumer which ring is being used.
const VarNames & getNames() const
virtual void doneConsumingList()
Must be called once after each time beginConsumingList has been called.
size_t getVarCount() const
virtual void doWriteEmptyList()=0
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
const vector< mpz_class > & getTerm(size_t term) const
size_t getVarCount() const
Returns the current number of variables.
virtual void doWriteTerm(const Term &term, const TermTranslator &translator, bool firstGenerator)=0
Term represents a product of variables which does not include a coefficient.
virtual void doWriteHeader(bool firstIdeal, size_t generatorCount)
virtual void consume(const Term &term, const TermTranslator &translator)
virtual void doneConsuming()
Must be called once after each time beginConsuming has been called.
virtual void doWriteFooter(bool wasZeroIdeal)=0
Defines the variables of a polynomial ring and facilities IO involving them.
size_t getGeneratorCount() const
virtual void beginConsumingList()
Tell the consumer that the ideals that are consumed until the next call to doneConsumingList are to b...