string indent(level, '\t');
out.write(format("%s%s", indent, st.keyword));
- for(vector<Value>::const_iterator i = st.args.begin(); i!=st.args.end(); ++i)
+ for(const Value &v: st.args)
{
out.put(' ');
- if(i->get_signature()==StringType::signature)
- out.write(format("\"%s\"", c_escape(i->get<StringType::Store>(), false)));
- 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<string>(i->get<IntType::Store>()));
- else if(i->get_signature()==FloatType::signature)
- out.write(lexical_cast<string>(i->get<FloatType::Store>(), float_format));
- else if(i->get_signature()==SymbolType::signature)
+ if(v.get_signature()==StringType::signature)
+ out.write(format("\"%s\"", c_escape(v.get<StringType::Store>(), false)));
+ else if(v.get_signature()==BoolType::signature)
+ out.write(v.get<BoolType::Store>() ? "true" : "false");
+ else if(v.get_signature()==IntType::signature)
+ out.write(lexical_cast<string>(v.get<IntType::Store>()));
+ else if(v.get_signature()==FloatType::signature)
+ out.write(lexical_cast<string>(v.get<FloatType::Store>(), float_format));
+ else if(v.get_signature()==SymbolType::signature)
{
- string name = i->get<SymbolType::Store>().name;
+ string name = v.get<SymbolType::Store>().name;
if(isdigit(name[0]))
out.write("\\"+name);
else
if(!st.sub.empty())
{
out.write(format("\n%s{\n", indent));
- for(list<Statement>::const_iterator i = st.sub.begin(); i!=st.sub.end(); ++i)
- write_(*i, level+1);
+ for(const Statement &s: st.sub)
+ write_(s, level+1);
out.write(format("%s}", indent));
}
out.write(";\n");