#pragma once #include #include #include #include #include class GSLArchive { public: GSLArchive(std::shared_ptr data); ~GSLArchive() = default; struct Entry { uint64_t offset; uint32_t size; }; const std::unordered_map all_entries() const; std::pair get(const std::string& name) const; std::string get_copy(const std::string& name) const; StringReader get_reader(const std::string& name) const; private: std::shared_ptr data; std::unordered_map entries; };