Go to the documentation of this file.
18 #ifndef POLY_WRITER_GUARD
19 #define POLY_WRITER_GUARD
32 virtual void consume(
const mpz_class& coef,
35 virtual void consume(
const mpz_class& coef,
const vector<mpz_class>& term);
49 bool firstGenerator) = 0;
51 const vector<mpz_class>& term,
52 bool firstGenerator) = 0;
virtual void consumeRing(const VarNames &names)
virtual void consume(const mpz_class &coef, const Term &term, const TermTranslator &translator)
virtual void beginConsuming()
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
const VarNames & getNames() const
Term represents a product of variables which does not include a coefficient.
virtual void doWriteTerm(const mpz_class &coef, const Term &term, const TermTranslator &translator, bool firstGenerator)=0
virtual void doWriteHeader()=0
Defines the variables of a polynomial ring and facilities IO involving them.
virtual void doWriteFooter(bool wasZero)=0
virtual void doneConsuming()