11
P2996R4 - Reflection for C++26
(isocpp.org)
C++ feature creep continues...
“Simple” enum to string
template <typename E>
requires std::is_enum_v<E>
constexpr std::string enum_to_string(E value) {
template for (constexpr auto e : std::meta::enumerators_of(^E)) {
if (value == [:e:]) {
return std::string(std::meta::name_of(e));
}
}
return "<unnamed>";
}
They have taken us for absolute fools.
No
requires(requires(...
No
decltype((auto))
No
noexcept(noexcept(...
To be fair, it's quite an advancement considering what I was expecting.
Just about my only question is why the return is a string and not a `string_view``.
The center for all discussion and news regarding C++.