X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwriter.h;h=18fb3141b2c8c83edb526da13ef76c981b0c4c1e;hb=b39ce68f12c30eedb272b65fe78baec5864d89ca;hp=e62e8bce2851313d6a9cb10e4df86531920dbd4e;hpb=6dd94a7fe90c6467024685fbac769067ddb74688;p=libs%2Fdatafile.git diff --git a/source/writer.h b/source/writer.h index e62e8bc..18fb314 100644 --- a/source/writer.h +++ b/source/writer.h @@ -1,16 +1,9 @@ -/* $Id$ - -This file is part of libmspdatafile -Copyright © 2006 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_DATAFILE_WRITER_H_ #define MSP_DATAFILE_WRITER_H_ #include #include -#include "binarydict.h" +#include "output.h" namespace Msp { namespace DataFile { @@ -24,12 +17,13 @@ Frontend for writing data. class Writer { private: - IO::Base &out; + Output out; WriterMode *mode; bool binary; public: Writer(IO::Base &o); + ~Writer(); /** Writes a statement to the output. This function always writes a complete @@ -44,6 +38,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