@lysdexic@programming.devM to C++@programming.devEnglish • 7 days agoP2996R4 - Reflection for C++26isocpp.orgmessage-square3fedilinkarrow-up111arrow-down10cross-posted to: hackernews@lemmy.smeargle.fans
arrow-up111arrow-down1external-linkP2996R4 - Reflection for C++26isocpp.org@lysdexic@programming.devM to C++@programming.devEnglish • 7 days agomessage-square3fedilinkcross-posted to: hackernews@lemmy.smeargle.fans
minus-square@riodoro1@lemmy.worldlinkfedilink2•edit-26 days ago“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.
minus-square@lambaliciouslinkEnglish1•5 days ago 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``.
“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.
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``.