overloading InExpression

2014-07-02 Thread Vlad Levenfeld via Digitalmars-d-learn
Is this possible? The documentation for std.container lists in as an operator in the container API but only associative arrays actually seem to support it.

Re: overloading InExpression

2014-07-02 Thread Dicebot via Digitalmars-d-learn
struct S { int opIn_r(int key) { return key*2; } } void main() { assert((42 in S.init) == 84); }

Re: overloading InExpression

2014-07-02 Thread Vlad Levenfeld via Digitalmars-d-learn
On Wednesday, 2 July 2014 at 14:14:57 UTC, Dicebot wrote: struct S { int opIn_r(int key) { return key*2; } } void main() { assert((42 in S.init) == 84); } Thanks! I wonder, why the _r and lack of documentation?

Re: overloading InExpression

2014-07-02 Thread Ali Çehreli via Digitalmars-d-learn
On 07/02/2014 07:35 AM, Vlad Levenfeld wrote: On Wednesday, 2 July 2014 at 14:14:57 UTC, Dicebot wrote: struct S { int opIn_r(int key) { return key*2; } } void main() { assert((42 in S.init) == 84); } Thanks! I wonder, why the _r I think it is the old syntax,

Re: overloading InExpression

2014-07-02 Thread Dicebot via Digitalmars-d-learn
On Wednesday, 2 July 2014 at 15:36:23 UTC, Kozzi11 wrote: Thanks! I wonder, why the _r and lack of documentation? Maybe something from old days? But in current a href=http://dlang.org/operatoroverloading.html#Binary; target=_blankdoc/a there is a opBinary: Yep, I think it is D1 legacy

Re: overloading InExpression

2014-07-02 Thread Kozzi11 via Digitalmars-d-learn
On Wednesday, 2 July 2014 at 14:35:55 UTC, Vlad Levenfeld wrote: On Wednesday, 2 July 2014 at 14:14:57 UTC, Dicebot wrote: struct S { int opIn_r(int key) { return key*2; } } void main() { assert((42 in S.init) == 84); } Thanks! I wonder, why

Re: overloading InExpression

2014-07-02 Thread bearophile via Digitalmars-d-learn
Dicebot: Yep, I think it is D1 legacy approach. opBinary should be more appropriate. I hope the usage of the old operator overloading functions will generate deprecation messages soon. Bye, bearophile

Re: overloading InExpression

2014-07-02 Thread H. S. Teoh via Digitalmars-d-learn
On Wed, Jul 02, 2014 at 02:35:54PM +, Vlad Levenfeld via Digitalmars-d-learn wrote: On Wednesday, 2 July 2014 at 14:14:57 UTC, Dicebot wrote: struct S { int opIn_r(int key) { return key*2; } } void main() { assert((42 in S.init) == 84); }

Re: overloading InExpression

2014-07-02 Thread Vlad Levenfeld via Digitalmars-d-learn
Ah yes I never noticed that in was in the binary op table. In my defense, searching for in usually yields too many results to be useful. Thanks to everyone for your help!