X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinaryparser.h;h=e6735f2435a71c447450ecd58aacbf46342859be;hb=6653c7d83dbe1fe81a541a125be8bb808b234eb7;hp=f6736faa0a0fb701cbfd4867245993e8855d21a5;hpb=7df5e45c7f414f6a07681dc4ec2abb63b091a309;p=libs%2Fdatafile.git diff --git a/source/binaryparser.h b/source/binaryparser.h index f6736fa..e6735f2 100644 --- a/source/binaryparser.h +++ b/source/binaryparser.h @@ -4,6 +4,7 @@ #include #include "binarydict.h" #include "parsermode.h" +#include "type.h" namespace Msp { namespace DataFile { @@ -14,25 +15,25 @@ Parses data in binary format. class BinaryParser: public ParserMode { private: - typedef std::map Dictionary; + typedef std::map Dictionary; typedef std::map StringMap; Dictionary dict; StringMap strings; bool first; + unsigned float_precision; public: BinaryParser(Input &i, const std::string &s); - virtual Statement parse(); + virtual Statement parse(bool); private: - Statement parse_statement(); - long long parse_int(); - float parse_float(); - std::string parse_string(); - bool parse_bool(); - std::string parse_enum(); - const std::string &lookup_string(unsigned) const; + Statement parse_statement(bool); + IntType::Store parse_int(); + FloatType::Store parse_float(); + StringType::Store parse_string(); + BoolType::Store parse_bool(); + SymbolType::Store parse_symbol(); }; } // namespace DataFile