#include "leparseutil.hpp" std::vector read_file_part(std::istream& is, std::streamsize offset, size_t length) { is.clear(); is.seekg(0, std::ios::beg); is.ignore(offset); std::vector vec; vec.reserve(length); std::copy_n(std::istream_iterator(is), length, std::back_inserter(vec)); return vec; } std::vector read_object(std::istream& is, le::File file, binparse::Value32 object_id) { auto object = file.object_table.entries[object_id]; auto index = object.page_table_index; return read_file_part(is, file.le_header.data_page_offset, file.le_header.page_size * (object.nr_page_table_entries -(index -1))); } le::File parse_file(std::istream& is) { is.clear(); is.seekg(0, std::ios::beg); auto file = le::parse_file(is); return file; }