]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/binaryparser.cpp
Use the metadata for type.h in binary write/parse functions
[libs/datafile.git] / source / binaryparser.cpp
index 73bb5cb664c32ba5ecda25ca9aa047c16e2610bd..53131289a851b04270e377e8abb5b61b49832b5c 100644 (file)
@@ -103,9 +103,9 @@ Statement BinaryParser::parse_statement()
        return result;
 }
 
-long long BinaryParser::parse_int()
+IntType::Store BinaryParser::parse_int()
 {
-       long long result = 0;
+       IntType::Store result = 0;
        unsigned bits = 0;
 
        while(in)
@@ -119,13 +119,13 @@ long long BinaryParser::parse_int()
                        break;
        }
 
-       const long long mask = 1LL<<(bits-1);
+       const IntType::Store mask = 1LL<<(bits-1);
        result = (result^mask)-mask;
 
        return result;
 }
 
-float BinaryParser::parse_float()
+FloatType::Store BinaryParser::parse_float()
 {
        union
        {
@@ -144,12 +144,12 @@ float BinaryParser::parse_float()
        return f;
 }
 
-bool BinaryParser::parse_bool()
+BoolType::Store BinaryParser::parse_bool()
 {
        return in.get();
 }
 
-string BinaryParser::parse_string()
+StringType::Store BinaryParser::parse_string()
 {
        int len = parse_int();
        if(len>=0)
@@ -164,7 +164,7 @@ string BinaryParser::parse_string()
                return get_item(strings, -len);
 }
 
-Symbol BinaryParser::parse_symbol()
+SymbolType::Store BinaryParser::parse_symbol()
 {
        return get_item(strings, parse_int());
 }