#include "le_resident_name_table.hpp" #include "parse.hpp" #include "output.hpp" #include BOOST_FUSION_ADAPT_STRUCT( le::ResidentNameTable::Entry, (binparse::PString8, string) (binparse::Value16, index) ) namespace le { ResidentNameTable::Entry parse_resident_name_table_entry(std::istream& is) { return binparse::parse(is); } std::ostream&operator<<(std::ostream& os, ResidentNameTable::Entry const& entry) { return binparse::operator<<(os, entry); } ResidentNameTable parse_resident_name_table(std::istream& is, binparse::Offset32 offset) { is.seekg(0, std::ios::beg); is.ignore(offset); ResidentNameTable table; while(is.peek()) { table.entries.push_back(parse_resident_name_table_entry(is)); } return table; } std::ostream&operator<<(std::ostream& os, const ResidentNameTable& table) { return binparse::operator<<(os, table.entries); } }