#pragma once #include #include #include #include #include #include namespace llo { class lloiff_t { public: class section_t { public: llo::utils::hash_t< std::string > section_name; std::uint64_t characteristics; std::vector< std::shared_ptr< llo::symbol::symbol_base_t > > symbols; std::vector< std::uint8_t > section_raw; }; explicit lloiff_t( std::string &&file_name ) : file_name( file_name ) { } lloiff_t( std::string &file_name ) : file_name( file_name ) { } llo::utils::hash_t< std::string > get_name() const { return file_name; } std::vector< section_t > get_sections() const { return sections; } void add_section( section_t &§ion ) { sections.push_back( section ); } void add_section( section_t §ion ) { sections.push_back( section ); } private: llo::utils::hash_t< std::string > file_name; std::vector< section_t > sections; }; } // namespace llo