X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Ftextwriter.cpp;fp=source%2Ftextwriter.cpp;h=5212c9760488330de78807ab7e4eb97bc3727827;hp=65f4870ea6e466816ee25d9dd40dbc550d00faa8;hb=8e3fad222e174b7c659fd3d994d54314657ed989;hpb=9867e5fdf99d7d6c9d83846c11a1cee6a9919be1 diff --git a/source/textwriter.cpp b/source/textwriter.cpp index 65f4870..5212c97 100644 --- a/source/textwriter.cpp +++ b/source/textwriter.cpp @@ -1,5 +1,6 @@ #include #include +#include "output.h" #include "statement.h" #include "textwriter.h" @@ -8,7 +9,7 @@ using namespace std; namespace Msp { namespace DataFile { -TextWriter::TextWriter(IO::Base &o): +TextWriter::TextWriter(Output &o): WriterMode(o), float_format("%#.7g") { } @@ -27,12 +28,12 @@ void TextWriter::write_(const Statement &st, unsigned level) { string indent(level, '\t'); - IO::print(out, "%s%s", indent, st.keyword); + out.write(format("%s%s", indent, st.keyword)); for(ValueArray::const_iterator i = st.args.begin(); i!=st.args.end(); ++i) { out.put(' '); if(i->get_signature()==StringType::signature) - IO::print(out, "\"%s\"", c_escape(i->get(), false)); + out.write(format("\"%s\"", c_escape(i->get(), false))); else if(i->get_signature()==BoolType::signature) out.write(i->get() ? "true" : "false"); else if(i->get_signature()==IntType::signature) @@ -50,12 +51,12 @@ void TextWriter::write_(const Statement &st, unsigned level) } if(!st.sub.empty()) { - IO::print(out, "\n%s{\n", indent); + out.write(format("\n%s{\n", indent)); for(list::const_iterator i = st.sub.begin(); i!=st.sub.end(); ++i) write_(*i, level+1); - IO::print(out, "%s}", indent); + out.write(format("%s}", indent)); } - out.write(";\n", 2); + out.write(";\n"); } } // namespace DataFile