On 29-08-2011 18:15, Andrej Mitrovic wrote:
On 8/29/11, kennytm<[email protected]>  wrote:
On the pattern matching syntax for templates in the comments -- Sigh, the
spec gotta advertise this valid syntax in the operator overloading page
more:

     Foo opBinary(string op:"+")(...) { ... }


Wow I didn't know about this. So now I can do this:
enum Foo
{
     A,
     B
}

void test(Foo foo:Foo.A)()  {}

instead of the more verbose:
void test(Foo foo)()
     if (foo == Foo.A)
{}

Can it be used for overloading? I assume the way it works in that code is that it only runs the function if foo equals Foo.A.

- Alex

Reply via email to