// Luanti // SPDX-License-Identifier: LGPL-2.1-or-later // Copyright (C) 2025 cx384 #pragma once #include #include struct EnumString { int num; const char *str; }; bool string_to_enum(const EnumString *spec, int &result, std::string_view str); template , bool> = true> bool string_to_enum(const EnumString *spec, T &result, std::string_view str) { int result_int = result; bool ret = string_to_enum(spec, result_int, str); result = static_cast(result_int); return ret; } const char *enum_to_string(const EnumString *spec, int num);