]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/writer.h
Add an abstraction layer for output
[libs/datafile.git] / source / writer.h
index e62e8bce2851313d6a9cb10e4df86531920dbd4e..df308266d976810217be152efec93d8f2a75b77a 100644 (file)
@@ -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 <map>
 #include <msp/io/base.h>
-#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,11 @@ public:
        @param  b  true for binary mode, false for text
        */
        void set_binary(bool b);
+
+       /** 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