]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/statement.cpp
Use C++11 features to manipulate containers
[libs/datafile.git] / source / statement.cpp
index 9dfb54421a47c6f041b344cc175a6c67e232f43c..baa9054e0cfb2f50cbb95ee17074d55dac3b9d0e 100644 (file)
@@ -32,15 +32,15 @@ string Statement::get_location() const
 string Statement::get_signature() const
 {
        string result;
-       for(Arguments::const_iterator i = args.begin(); i!=args.end(); ++i)
-               result += i->get_signature();
+       for(const Value &a: args)
+               result += a.get_signature();
        return result;
 }
 
 Statement &Statement::append_from_token(const Token &token)
 {
        if(token.type==Token::INTEGER)
-               return append(lexical_cast<IntType::Store>(token.str));
+               return append(lexical_cast<IntType::Store>(token.str, Fmt().autobase()));
        else if(token.type==Token::FLOAT)
                return append(lexical_cast<FloatType::Store>(token.str));
        else if(token.type==Token::STRING)
@@ -67,10 +67,10 @@ StatementInfo::StatementInfo(const string &k, const string &s):
        key(k, s),
        args_size(0)
 {
-       for(string::const_iterator i=key.signature.begin(); i!=key.signature.end(); ++i)
+       for(char c: key.signature)
        {
                arg_offsets.push_back(args_size);
-               switch(*i)
+               switch(c)
                {
                case IntType::signature:
                        args_size += sizeof(IntType::Store);