• riodoro1@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    4 months 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.

    • lambalicious@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months 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``.