#include const char *regex024_error_code_tostr(regex024_error_code x) { #define rcase(name) case regex024_error_codes::name: return #name; switch (x) { rcase(stable) rcase(ca_tree_limit_violation) rcase(sa_length_limit_violation) rcase(read_sslot_count_limit_violation) rcase(fork_sslot_count_limit_violation) rcase(timeout) rcase(improper_finish) rcase(too_early) rcase(too_late) rcase(selection_arr_out_of_range) rcase(read_sslot_out_of_range) rcase(fork_sslot_out_of_range) rcase(invalid_opcode) rcase(invalid_register_code) rcase(instruction_not_for_general_thread) rcase(instruction_not_for_collision_thread) rcase(bad_alloc) default: return "unknown_error_code"; } }