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.