#pragma once #include #include #include namespace theo::decomp { class symbol_t { public: explicit symbol_t(const std::string&& name, std::uintptr_t location, const std::vector&& data, coff::section_header_t scn_hdr); std::string name() const; std::uintptr_t location() const; std::uint32_t size() const; std::vector data() const; void name(const std::string&& name); void location(std::uintptr_t location); void data(const std::vector&& data); private: std::string m_name; std::uintptr_t m_location; std::vector m_data; const coff::section_header_t m_scn_hdr; }; } // namespace theo::decomp