X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fwriter.cpp;h=bcbccc240300a065ce01454409cb80049da32b1d;hb=cbd0ddd6ee033e46646bfb85d19232c816ea1eda;hp=cdd78b62e18e5e636994f0bf674da9aba39d3676;hpb=27630d44298cb67e075c166f4421288cc8ca117e;p=libs%2Fdatafile.git diff --git a/source/writer.cpp b/source/writer.cpp index cdd78b6..bcbccc2 100644 --- a/source/writer.cpp +++ b/source/writer.cpp @@ -15,12 +15,17 @@ using namespace std; namespace Msp { namespace DataFile { -Writer::Writer(ostream &o): +Writer::Writer(IO::Base &o): out(o), mode(new TextWriter(out)), binary(false) { } +Writer::~Writer() +{ + delete mode; +} + void Writer::write(const Statement &st) { mode->write(st); @@ -31,21 +36,21 @@ void Writer::set_binary(bool b) if(b==binary) return; - binary=b; + binary = b; Statement st; if(binary) - st.keyword="__bin"; + st.keyword = "__bin"; else - st.keyword="__text"; + st.keyword = "__text"; mode->write(st); delete mode; if(binary) - mode=new BinaryWriter(out); + mode = new BinaryWriter(out); else - mode=new TextWriter(out); + mode = new TextWriter(out); } } // namespace DataFile