#pragma once #include #include #include #define XED_ENCODER extern "C" { #include #include #include } namespace theo { class iff_t { friend class swapchain_t; public: struct section_t { coff::section_header_t header; std::vector< std::pair< std::uint32_t, coff::symbol_t > > symbols; std::vector< xed_decoded_inst_t > instrs; }; explicit iff_t( coff::image_t *img ); std::vector< section_t > sections; static std::shared_ptr< theo::iff_t > make( coff::image_t *img ) { return std::make_shared< theo::iff_t >( img ); } private: void flush(); coff::image_t *img; }; } // namespace theo