]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/writer.h
Cosmetic changes
[libs/datafile.git] / source / writer.h
index 159bf9552f2ca68c80f740c4f88b222b7a736dd1..5f32786f443b443f15c33d996ed070d10fb0461d 100644 (file)
@@ -2,24 +2,25 @@
 #define MSP_DATAFILE_WRITER_H_
 
 #include <map>
+#include <msp/core/noncopyable.h>
 #include <msp/io/base.h>
-#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;
-       WriterMode *mode;
-       bool binary;
+       Output out;
+       WriterMode *mode = nullptr;
+       bool binary = false;
 
 public:
        Writer(IO::Base &o);
@@ -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