Ranges: is it ok if front is a data member?
Adam D. Ruppe
destructionator at gmail.com
Thu Dec 12 08:19:28 PST 2013
Consider the following:
struct JustZeroes {
int front = 0;
enum bool = false;
void popFront() {}
}
Is that guaranteed to work as an input range? I ask because I've
so often written:
T current;
@property T front() { return current; }
that it just seems silly to me to write the extra lines when
current == front. I realize there is a small difference there, in
that front is not an lvalue here, but is when it is a direct
member, but other than that, is this an acceptable form? Or does
the lvalue thing mean it is strongly discouraged?
More information about the Digitalmars-d-learn
mailing list