X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinarywriter.h;h=b10c5abdce2adc887f0c70bb5080eacc92efc518;hb=HEAD;hp=1a11ae5df9d4f17e4080c678b8a7f10d75f16fd2;hpb=e0af585ed57bdb5b1ea4f4a415fda13b5d99d2dc;p=libs%2Fdatafile.git diff --git a/source/binarywriter.h b/source/binarywriter.h index 1a11ae5..dafc7eb 100644 --- a/source/binarywriter.h +++ b/source/binarywriter.h @@ -2,7 +2,7 @@ #define MSP_DATAFILE_BINARYWRITER_H_ #include -#include "binarydict.h" +#include "statement.h" #include "type.h" #include "writermode.h" @@ -15,18 +15,20 @@ Writes data in binary format. class BinaryWriter: public WriterMode { private: - typedef std::map Dictionary; + typedef std::map Dictionary; typedef std::map StringMap; Dictionary dict; - unsigned next_kwd_id; + unsigned next_kwd_id = 1; StringMap strings; - unsigned next_str_id; + unsigned next_str_id = 1; + unsigned float_precision = 32; public: - BinaryWriter(IO::Base &o); + BinaryWriter(Output &o); - virtual void write(const Statement &st); + void set_float_precision(unsigned) override; + void write(const Statement &st) override; private: void write_(const Statement &st); void collect_keywords(const Statement &st);