digitalmars.D.learn - overloading operations for enums
- Dominikus Dittes Scherkl (16/16) May 26 2014 Hello.
- Rene Zwanenburg (12/28) May 26 2014 You can make an enumeration of structs:
Hello.
I want to create some finite algebra, where the elements are
enumerated but operations on them are defined (with composition
tables).
e.g.:
enum color = { white, yellow, red, blue, orange, violet, green,
black };
color a = blue;
a += yellow;
assert(a == green);
is this possible in D?
Because, if I define a struct, I can define operation overloads,
but then I have no enumeration of possible values. But if I
enumerate, I cannot
overload operations.
What have I missed?
May 26 2014
On Monday, 26 May 2014 at 16:54:02 UTC, Dominikus Dittes Scherkl
wrote:
Hello.
I want to create some finite algebra, where the elements are
enumerated but operations on them are defined (with composition
tables).
e.g.:
enum color = { white, yellow, red, blue, orange, violet, green,
black };
color a = blue;
a += yellow;
assert(a == green);
is this possible in D?
Because, if I define a struct, I can define operation
overloads, but then I have no enumeration of possible values.
But if I enumerate, I cannot
overload operations.
What have I missed?
You can make an enumeration of structs:
struct S
{
int i;
}
enum E
{
Something = S(1),
SomethingElse = S(2)
}
May 26 2014








"Rene Zwanenburg" <renezwanenburg gmail.com>