]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/textwriter.cpp
Don't use deprecated typedefs
[libs/datafile.git] / source / textwriter.cpp
index 5212c9760488330de78807ab7e4eb97bc3727827..921842279f133eabf555d57d97e609d563dacb72 100644 (file)
@@ -10,13 +10,14 @@ namespace Msp {
 namespace DataFile {
 
 TextWriter::TextWriter(Output &o):
-       WriterMode(o),
-       float_format("%#.7g")
-{ }
+       WriterMode(o)
+{
+       float_format.showpoint().precision(7);
+}
 
 void TextWriter::set_float_precision(unsigned fp)
 {
-       float_format = format("%%#.%dg", fp/4-1);
+       float_format.precision(fp/4-1);
 }
 
 void TextWriter::write(const Statement &st)
@@ -29,7 +30,7 @@ void TextWriter::write_(const Statement &st, unsigned level)
        string indent(level, '\t');
 
        out.write(format("%s%s", indent, st.keyword));
-       for(ValueArray::const_iterator i = st.args.begin(); i!=st.args.end(); ++i)
+       for(vector<Value>::const_iterator i = st.args.begin(); i!=st.args.end(); ++i)
        {
                out.put(' ');
                if(i->get_signature()==StringType::signature)
@@ -37,9 +38,9 @@ void TextWriter::write_(const Statement &st, unsigned level)
                else if(i->get_signature()==BoolType::signature)
                        out.write(i->get<BoolType::Store>() ? "true" : "false");
                else if(i->get_signature()==IntType::signature)
-                       out.write(lexical_cast(i->get<IntType::Store>()));
+                       out.write(lexical_cast<string>(i->get<IntType::Store>()));
                else if(i->get_signature()==FloatType::signature)
-                       out.write(format(float_format, i->get<FloatType::Store>()));
+                       out.write(lexical_cast<string>(i->get<FloatType::Store>(), float_format));
                else if(i->get_signature()==SymbolType::signature)
                {
                        string name = i->get<SymbolType::Store>().name;