#include <sys/param.h>
+#include <msp/core/maputils.h>
#include <msp/strings/format.h>
#include "binaryparser.h"
#include "input.h"
if(!in)
return Statement();
- Dictionary::const_iterator i = dict.find(id);
- if(i==dict.end())
- throw_at(KeyError("Unknown statement ID", lexical_cast(id)), src);
- const DictEntry &de = i->second;
+ const DictEntry &de = get_item(dict, id);
Statement result;
result.keyword = de.keyword;
return result;
}
else
- return lookup_string(-len);
+ return get_item(strings, -len);
}
string BinaryParser::parse_enum()
{
- return lookup_string(parse_int());
-}
-
-const string &BinaryParser::lookup_string(unsigned id) const
-{
- StringMap::const_iterator i = strings.find(id);
- if(i==strings.end())
- throw_at(KeyError("Unknown string", lexical_cast(id)), src);
- return i->second;
+ return get_item(strings, parse_int());
}
} // namespace DataFile