digitalmars.D.learn - Lossless Bidirectional Enum-Conversions Mixin
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (11/11) Sep 07 2014 Have anybody come up with some mixin magic that given
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (15/20) Sep 07 2014 The enumeration names must of course be given aswell:
Have anybody come up with some mixin magic that given
enum A { x,y,z }
enum B { a,b,c }
and call to a mixin
BidirectionalEnums(
"x", "a",
"y", "b",
"z", "c",
);
generates two to!Enum overloads that implement bidirectional
(lossless) conversion rules between A and B?
Sep 07 2014
On Sunday, 7 September 2014 at 17:22:38 UTC, Nordlöw wrote:
BidirectionalEnums(
"x", "a",
"y", "b",
"z", "c",
);
The enumeration names must of course be given aswell:
BidirectionalEnums2(
"A", "B",
"x", "a",
...
);
and two specifies the number of enums involved.
We could of course also use
BidirectionalEnums(
tuple("A", "B"),
tuple("x", "a"),
...
);
for more verbosity.
Sep 07 2014








=?UTF-8?B?Ik5vcmRsw7Z3Ig==?= <per.nordlow gmail.com>