X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinaryparser.h;h=12340e55835096e9a4a4f74afe2d75493b2b6cbe;hb=215e719d0ef85f748898660d15d01e77ac551de9;hp=560703c66ddb337791a98b7e72d8dc1c81262169;hpb=27630d44298cb67e075c166f4421288cc8ca117e;p=libs%2Fdatafile.git diff --git a/source/binaryparser.h b/source/binaryparser.h index 560703c..12340e5 100644 --- a/source/binaryparser.h +++ b/source/binaryparser.h @@ -15,19 +15,23 @@ Distributed under the LGPL namespace Msp { namespace DataFile { +/** +Parses data in binary format. +*/ class BinaryParser: public ParserMode { private: typedef std::map Dictionary; - typedef std::map EnumMap; + typedef std::map StringMap; Dictionary dict; - EnumMap enums; + StringMap strings; bool first; public: BinaryParser(Input &i, const std::string &s); - Statement parse(); + + virtual Statement parse(); private: Statement parse_statement(); long long parse_int(); @@ -35,6 +39,7 @@ private: std::string parse_string(); bool parse_bool(); std::string parse_enum(); + const std::string &lookup_string(unsigned) const; }; } // namespace DataFile