X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Fbinaryparser.h;h=b4fec6b4c9e681f6f635a7e348868d65097eddeb;hp=12340e55835096e9a4a4f74afe2d75493b2b6cbe;hb=19179a622c1de88de5ed7047643eec79f285bf2a;hpb=215e719d0ef85f748898660d15d01e77ac551de9 diff --git a/source/binaryparser.h b/source/binaryparser.h index 12340e5..b4fec6b 100644 --- a/source/binaryparser.h +++ b/source/binaryparser.h @@ -1,16 +1,10 @@ -/* $Id$ - -This file is part of libmspdatafile -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_DATAFILE_BINARYPARSER_H_ #define MSP_DATAFILE_BINARYPARSER_H_ #include #include "binarydict.h" #include "parsermode.h" +#include "type.h" namespace Msp { namespace DataFile { @@ -21,12 +15,13 @@ 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); @@ -34,12 +29,11 @@ public: virtual Statement parse(); 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; + IntType::Store parse_int(); + FloatType::Store parse_float(); + StringType::Store parse_string(); + BoolType::Store parse_bool(); + SymbolType::Store parse_symbol(); }; } // namespace DataFile