Frobby  0.9.5
Public Member Functions | Private Member Functions | Private Attributes | List of all members
IO::PolyWriter Class Referenceabstract

#include <PolyWriter.h>

Inheritance diagram for IO::PolyWriter:
CoefBigTermConsumer CoefTermConsumer IO::CoCoA4PolyWriter IO::Fourti2PolyWriter IO::M2PolyWriter IO::SingularPolyWriter

Public Member Functions

 PolyWriter (FILE *out)
 
virtual void consumeRing (const VarNames &names)
 
virtual void beginConsuming ()
 
virtual void consume (const mpz_class &coef, const Term &term, const TermTranslator &translator)
 
virtual void consume (const mpz_class &coef, const vector< mpz_class > &term)
 
virtual void doneConsuming ()
 
virtual void consume (const BigPolynomial &poly)
 
FILE * getFile ()
 
const VarNamesgetNames () const
 
- Public Member Functions inherited from CoefBigTermConsumer
virtual void consume (const mpz_class &coef, const Term &term)
 
- Public Member Functions inherited from CoefTermConsumer
virtual ~CoefTermConsumer ()
 
virtual void consume (const Polynomial &poly)
 

Private Member Functions

virtual void doWriteHeader (size_t generatorCount)
 
virtual void doWriteHeader ()=0
 
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 doWriteFooter (bool wasZero)=0
 

Private Attributes

FILE *const _out
 
bool _firstTerm
 
VarNames _names
 

Detailed Description

Definition at line 25 of file PolyWriter.h.

Constructor & Destructor Documentation

◆ PolyWriter()

IO::PolyWriter::PolyWriter ( FILE *  out)

Definition at line 25 of file PolyWriter.cpp.

Member Function Documentation

◆ beginConsuming()

void IO::PolyWriter::beginConsuming ( )
virtual

Implements CoefBigTermConsumer.

Definition at line 34 of file PolyWriter.cpp.

◆ consume() [1/3]

void IO::PolyWriter::consume ( const BigPolynomial poly)
virtual

Reimplemented from CoefBigTermConsumer.

Definition at line 59 of file PolyWriter.cpp.

◆ consume() [2/3]

void IO::PolyWriter::consume ( const mpz_class &  coef,
const Term term,
const TermTranslator translator 
)
virtual

Implements CoefBigTermConsumer.

Definition at line 39 of file PolyWriter.cpp.

◆ consume() [3/3]

void IO::PolyWriter::consume ( const mpz_class &  coef,
const vector< mpz_class > &  term 
)
virtual

Implements CoefBigTermConsumer.

Definition at line 48 of file PolyWriter.cpp.

◆ consumeRing()

void IO::PolyWriter::consumeRing ( const VarNames names)
virtual

Implements CoefBigTermConsumer.

Definition at line 30 of file PolyWriter.cpp.

◆ doneConsuming()

void IO::PolyWriter::doneConsuming ( )
virtual

Implements CoefBigTermConsumer.

Definition at line 55 of file PolyWriter.cpp.

◆ doWriteFooter()

virtual void IO::PolyWriter::doWriteFooter ( bool  wasZero)
privatepure virtual

◆ doWriteHeader() [1/2]

virtual void IO::PolyWriter::doWriteHeader ( )
privatepure virtual

◆ doWriteHeader() [2/2]

void IO::PolyWriter::doWriteHeader ( size_t  generatorCount)
privatevirtual

Reimplemented in IO::Fourti2PolyWriter.

Definition at line 68 of file PolyWriter.cpp.

◆ doWriteTerm() [1/2]

virtual void IO::PolyWriter::doWriteTerm ( const mpz_class &  coef,
const Term term,
const TermTranslator translator,
bool  firstGenerator 
)
privatepure virtual

◆ doWriteTerm() [2/2]

virtual void IO::PolyWriter::doWriteTerm ( const mpz_class &  coef,
const vector< mpz_class > &  term,
bool  firstGenerator 
)
privatepure virtual

◆ getFile()

FILE* IO::PolyWriter::getFile ( )
inline

Definition at line 40 of file PolyWriter.h.

◆ getNames()

const VarNames& IO::PolyWriter::getNames ( ) const
inline

Definition at line 41 of file PolyWriter.h.

Member Data Documentation

◆ _firstTerm

bool IO::PolyWriter::_firstTerm
private

Definition at line 56 of file PolyWriter.h.

◆ _names

VarNames IO::PolyWriter::_names
private

Definition at line 57 of file PolyWriter.h.

◆ _out

FILE* const IO::PolyWriter::_out
private

Definition at line 55 of file PolyWriter.h.


The documentation for this class was generated from the following files: