Go to the documentation of this file.
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 CoefBigTermConsumer * doCreatePolynomialWriter(FILE *out)
void readCoefTerm(BigPolynomial &polynomial, bool firstTerm, Scanner &in)
void writeTermProduct(const Term &term, const TermTranslator &translator, FILE *out)
virtual BigTermConsumer * doCreateIdealWriter(FILE *out)=0
virtual const char * doGetDescription() const
IOHandlerImpl(const char *formatName, const char *formatDescription)
void readVarPower(vector< mpz_class > &term, const VarNames &names, Scanner &in)
This class offers an input interface which is more convenient and for some purposes more efficient th...
virtual void doReadIdeals(Scanner &in, InputConsumer &consumer)
void registerInput(const DataType &type)
Specify that input of the argument type is supported.
virtual void doReadSatBinomIdeal(Scanner &in, SatBinomConsumer &consumer)
virtual void doReadPolynomial(Scanner &in, CoefBigTermConsumer &consumer)
vector< const DataType * > _supportedOutputs
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
virtual bool doHasMoreInput(Scanner &in) const
This class contains a minimum level of functionality that makes it more convenient to derive from tha...
Term represents a product of variables which does not include a coefficient.
void writeCoefTermProduct(const mpz_class &coef, const Term &term, const TermTranslator &translator, bool hidePlus, FILE *out)
virtual void doReadIdeal(Scanner &in, InputConsumer &consumer)
const char * _formatDescription
void registerOutput(const DataType &type)
Specify that output of the argument type is supported.
virtual const char * doGetName() const
An IOHandler implements input and output for some format in such a way that client code does not need...
vector< const DataType * > _supportedInputs
virtual void doReadTerm(Scanner &in, InputConsumer &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...
void readTermProduct(Scanner &in, const VarNames &names, vector< mpz_class > &term)
virtual bool doSupportsInput(const DataType &type) const
virtual bool doSupportsOutput(const DataType &type) const