17 #ifndef IO_HANDLER_IMPL_GUARD
18 #define IO_HANDLER_IMPL_GUARD
40 const char* formatDescription);
83 const vector<mpz_class>& term,
98 vector<mpz_class>& term);
106 vector<mpz_class>& term,
virtual void doReadIdeals(Scanner &in, InputConsumer &consumer)
void readCoefTerm(BigPolynomial &polynomial, bool firstTerm, Scanner &in)
virtual BigTermConsumer * doCreateIdealWriter(FILE *out)=0
virtual bool doSupportsOutput(const DataType &type) const
void readVarPower(vector< mpz_class > &term, const VarNames &names, Scanner &in)
virtual CoefBigTermConsumer * doCreatePolynomialWriter(FILE *out)
IOHandlerImpl(const char *formatName, const char *formatDescription)
void registerOutput(const DataType &type)
Specify that output of the argument type is supported.
void readTermProduct(Scanner &in, const VarNames &names, vector< mpz_class > &term)
Defines the variables of a polynomial ring and facilities IO involving them.
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
const char * _formatDescription
vector< const DataType * > _supportedOutputs
vector< const DataType * > _supportedInputs
This class offers an input interface which is more convenient and for some purposes more efficient th...
void writeCoefTermProduct(const mpz_class &coef, const Term &term, const TermTranslator &translator, bool hidePlus, FILE *out)
virtual const char * doGetName() const
void registerInput(const DataType &type)
Specify that input of the argument type is supported.
virtual void doReadPolynomial(Scanner &in, CoefBigTermConsumer &consumer)
This class contains a minimum level of functionality that makes it more convenient to derive from tha...
virtual void doReadIdeal(Scanner &in, InputConsumer &consumer)
virtual bool doSupportsInput(const DataType &type) const
virtual bool doHasMoreInput(Scanner &in) const
An IOHandler implements input and output for some format in such a way that client code does not need...
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
virtual const char * doGetDescription() const
void writeTermProduct(const Term &term, const TermTranslator &translator, FILE *out)
virtual void doReadSatBinomIdeal(Scanner &in, SatBinomConsumer &consumer)
Term represents a product of variables which does not include a coefficient.
virtual void doReadTerm(Scanner &in, InputConsumer &term)