#pragma once #include #include #ifdef USE_COROUTINES #if __cplusplus >= 202002L # include #else # include #endif #else # include #endif #include "opcode_test_suite_t.h" class processor_test_suite_t final { private: std::string m_location; public: processor_test_suite_t(std::string location) noexcept; std::string_view location() const noexcept { return m_location; } #ifdef USE_COROUTINES #if __cplusplus >= 202002L [[nodiscard]] EightBit::co_generator_t generator(); #else void generator(boost::coroutines2::coroutine::push_type& sink); #endif #else std::vector generate(); #endif };