Go to the documentation of this file.
18 #ifndef IDEAL_WRITER_GUARD
19 #define IDEAL_WRITER_GUARD
37 virtual void consume(
const vector<mpz_class>& term);
47 virtual void doWriteHeader(
bool firstIdeal,
size_t generatorCount);
51 bool firstGenerator) = 0;
52 virtual void doWriteTerm(
const vector<mpz_class>& term,
53 bool firstGenerator) = 0;
virtual void beginConsuming()
Tell the consumer to begin consuming an ideal.
const VarNames & getNames()
virtual void consumeRing(const VarNames &names)
Tell the consumer which ring is being used.
virtual void doneConsumingList()
Must be called once after each time beginConsumingList has been called.
virtual void doWriteEmptyList()=0
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
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.
virtual void beginConsumingList()
Tell the consumer that the ideals that are consumed until the next call to doneConsumingList are to b...