C++ Logo

std-proposals

Advanced search

Re: [std-proposals] lambdas in enums

From: Jeremy Rifkin <rifkin.jer_at_[hidden]>
Date: Tue, 11 Mar 2025 18:32:37 -0500
Hi,

It seems weird to add a special-case to just allow lambdas in enums like
this. The syntax is confusing too, it resembles enum constant syntax and
this isn't syntax that exists for other similar language constructs.

I would much rather see enums get normal member functions like most other
languages have.

Cheers,
Jeremy


On Tue, Mar 11, 2025 at 6:20 PM Dmitrii Shabalin via Std-Proposals <
std-proposals_at_[hidden]> wrote:

> Hi.
> Since C++11 we have lambdas.
> I believe, everyone, who works with enums, write some functions for this
> particular enum only.
> However, there is no way to associate this function with the enum's
> namespace.
> My idea: we can set a value for any of enum fields. It should be const and
> could be constexpr.
> May be, we can set a lambda for a field too?
> something like:
> enum Test{
> testValue = 0,
> toString =[](Test value) -> std::string { if (value == testValue) return
> "testValue"; else return ""; },
> max = testValue
> }
>
> And usage will be something like:
> std::cout << "Test value" << Test::toString(Test::testValue);
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>

Received on 2025-03-11 23:32:50