#pragma once #include #if __cplusplus >= 202002L # include #else # include #endif #include "parser_t.h" #include "test_t.h" class opcode_test_suite_t final : public parser_t { private: [[nodiscard]] auto array() const noexcept { return raw().get_array(); } public: opcode_test_suite_t() noexcept {} opcode_test_suite_t(std::string path) noexcept; [[nodiscard]] auto begin() const noexcept { return array().begin(); } [[nodiscard]] auto end() const noexcept { return array().end(); } #if __cplusplus >= 202002L [[nodiscard]] EightBit::co_generator_t generator(); #else void generator(boost::coroutines2::coroutine::push_type& sink); #endif };