Abstract base class for file output classes. More...
#include <CoinFileIO.hpp>
Public Types | |
enum | Compression { COMPRESS_NONE = 0, COMPRESS_GZIP = 1, COMPRESS_BZIP2 = 2 } |
The compression method. More... | |
Public Member Functions | |
CoinFileOutput (const std::string &fileName) | |
Constructor (don't use this, use the create method instead). | |
virtual | ~CoinFileOutput () |
Destructor. | |
virtual int | write (const void *buffer, int size)=0 |
Write a block of data to the file, similar to fwrite. | |
virtual bool | puts (const char *s) |
Write a string to the file (like fputs). | |
bool | puts (const std::string &s) |
Convenience method: just a 'puts(s.c_str())'. | |
Static Public Member Functions | |
static bool | compressionSupported (Compression compression) |
Returns whether the specified compression method is supported (i.e. | |
static CoinFileOutput * | create (const std::string &fileName, Compression compression) |
Factory method, that creates a CoinFileOutput (more precisely a subclass of it) for the file specified. |
Abstract base class for file output classes.
Definition at line 72 of file CoinFileIO.hpp.
The compression method.
COMPRESS_NONE |
No compression. |
COMPRESS_GZIP |
gzip compression. |
COMPRESS_BZIP2 |
bzip2 compression. |
Definition at line 77 of file CoinFileIO.hpp.
CoinFileOutput::CoinFileOutput | ( | const std::string & | fileName | ) |
Constructor (don't use this, use the create method instead).
fileName | The name of the file used by this object. |
virtual CoinFileOutput::~CoinFileOutput | ( | ) | [virtual] |
Destructor.
static bool CoinFileOutput::compressionSupported | ( | Compression | compression | ) | [static] |
Returns whether the specified compression method is supported (i.e.
was compiled into COIN).
static CoinFileOutput* CoinFileOutput::create | ( | const std::string & | fileName, | |
Compression | compression | |||
) | [static] |
Factory method, that creates a CoinFileOutput (more precisely a subclass of it) for the file specified.
If the compression method is not supported an exception is thrown (so use compressionSupported first, if this is a problem). The reason for not providing direct access to the subclasses (and using such a method instead) is that depending on the build configuration some of the classes are not available (or functional). This way we can handle all required ifdefs here instead of polluting other files.
fileName | The file that should be read. | |
compression | Compression method used. |
virtual int CoinFileOutput::write | ( | const void * | buffer, | |
int | size | |||
) | [pure virtual] |
Write a block of data to the file, similar to fwrite.
buffer | Address of a buffer containing the data to be written. | |
size | Number of bytes to write. |
virtual bool CoinFileOutput::puts | ( | const char * | s | ) | [virtual] |
Write a string to the file (like fputs).
Just as with fputs no trailing newline is inserted! The terminating '' is not written to the file. The default implementation determines the length of the string and calls write on it.
s | The zero terminated string to be written. |
bool CoinFileOutput::puts | ( | const std::string & | s | ) | [inline] |
Convenience method: just a 'puts(s.c_str())'.
Definition at line 123 of file CoinFileIO.hpp.