X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Fbinaryparser.h;h=dfb0de995c7092dd60c9ebc19d6d636b408de84b;hp=255209a971bed7fdd5e7149e7a9dd20a8fb30cd4;hb=3b78eeb8b92dc3524d6a0456b4daf0a0f3dbf813;hpb=a82776d980239e48d2b509d33b56e77a1ea44dda diff --git a/source/binaryparser.h b/source/binaryparser.h index 255209a..dfb0de9 100644 --- a/source/binaryparser.h +++ b/source/binaryparser.h @@ -14,18 +14,24 @@ 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; unsigned float_precision; + StatementInfo *cur_info; + std::vector sub_remaining; public: BinaryParser(Input &i, const std::string &s); virtual Statement parse(); virtual void process_control_statement(const Statement &); + + virtual const StatementKey *peek(unsigned); + virtual bool parse_and_load(unsigned, Loader &, const LoaderAction &); + private: IntType::Store parse_int(); FloatType::Store parse_float();