X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwriter.h;h=241ea9a9d460a598c46a5a5a7e32b3329b8a060c;hb=b3b3fc2caf409f8c8ba523bbb3519af13b17e66e;hp=159bf9552f2ca68c80f740c4f88b222b7a736dd1;hpb=7df5e45c7f414f6a07681dc4ec2abb63b091a309;p=libs%2Fdatafile.git diff --git a/source/writer.h b/source/writer.h index 159bf95..241ea9a 100644 --- a/source/writer.h +++ b/source/writer.h @@ -2,22 +2,23 @@ #define MSP_DATAFILE_WRITER_H_ #include +#include #include -#include "binarydict.h" +#include "output.h" namespace Msp { namespace DataFile { -class Statement; +struct Statement; class WriterMode; /** Frontend for writing data. */ -class Writer +class Writer: private NonCopyable { private: - IO::Base &out; + Output out; WriterMode *mode; bool binary; @@ -38,6 +39,15 @@ public: @param b true for binary mode, false for text */ void set_binary(bool b); + + /** Enables output compression. Once enabled, it won't be possible to + disable compression. */ + void set_compressed(); + + /** Sets the precision of floating point numbers in bits. Depending on the + mode not all values may be valid, but any value between 16 and 64 that is + divisible by 8 is guaranteed to work. */ + void set_float_precision(unsigned); }; } // namespace DataFile