binary expression...
Anonymouse via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat May 21 11:33:53 PDT 2016
On Saturday, 21 May 2016 at 18:10:55 UTC, captain_fid wrote:
> Please forgive if asked before. My google skills seemed to fail
> me and didn't see any result from search.
>
> My problem is simple (though not my understanding LOL).
>
> struct D {
> int value;
> bool opEquals()(bool value) const { return (value ==
> value); }
> }
>
> D aD;
> if (aD == 1) { // OK
> }
>
> if (aD) { // Error: expression aD of type D does not have
> a boolean value
> }
>
> Is there a way to overload for this? What am I missing?
struct D
{
int value;
bool opEquals(T)(T value) const {
return value == this.value;
}
bool opCast(T : bool)() const {
return this != this.init; // or some such
}
}
Not tested, written on my phone so might have missed something.
More information about the Digitalmars-d-learn
mailing list