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 doWriteFooter(bool wasZero)=0
virtual void doneConsuming()
virtual void doWriteHeader()=0
const VarNames & getNames() const
virtual void beginConsuming()
virtual void consumeRing(const VarNames &names)
virtual void doWriteTerm(const mpz_class &coef, const Term &term, const TermTranslator &translator, bool firstGenerator)=0
virtual void doWriteTerm(const mpz_class &coef, const vector< mpz_class > &term, bool firstGenerator)=0
virtual void consume(const mpz_class &coef, const Term &term, const TermTranslator &translator)
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.