Date: Tue, 11 Mar 2025 16:30:27 -0700
This seems to be ignoring that the underlying storage for the enum is
an int (of varying sizes). Now there needs to be an int, and
additional space for each lambda object that one might add. I'm not
seeing the immediate benefit over a normal free function.
On Tue, Mar 11, 2025 at 4: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
an int (of varying sizes). Now there needs to be an int, and
additional space for each lambda object that one might add. I'm not
seeing the immediate benefit over a normal free function.
On Tue, Mar 11, 2025 at 4: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:30:44