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.
struct S
{
int opIn_r(int key)
{
return key*2;
}
}
void main()
{
assert((42 in S.init) == 84);
}
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?
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,
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
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
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
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);
}
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!