Fixups based on feedback.

This commit is contained in:
H. S. Teoh 2015-01-23 09:00:08 -08:00
parent b9979857c5
commit dfd1c2338f

View file

@ -1333,9 +1333,9 @@ private struct GroupByChunkImpl(alias pred, Range)
private Range r; private Range r;
private ElementType!Range prev; private ElementType!Range prev;
this(Range _r, ElementType!Range _prev) this(Range range, ElementType!Range _prev)
{ {
r = _r; r = range;
prev = _prev; prev = _prev;
} }
@ -1398,7 +1398,7 @@ private struct GroupByImpl(alias pred, Range)
} }
} }
// Andrei's implementation of groupBy for forward ranges. // Single-pass implementation of groupBy for forward ranges.
private struct GroupByImpl(alias pred, Range) private struct GroupByImpl(alias pred, Range)
if (isForwardRange!Range) if (isForwardRange!Range)
{ {
@ -1415,11 +1415,11 @@ private struct GroupByImpl(alias pred, Range)
// Inner range // Inner range
static struct Group static struct Group
{ {
size_t groupNum; private size_t groupNum;
Range start; private Range start;
Range current; private Range current;
RefCounted!Impl mothership; private RefCounted!Impl mothership;
this(RefCounted!Impl origin) this(RefCounted!Impl origin)
{ {
@ -1432,7 +1432,8 @@ private struct GroupByImpl(alias pred, Range)
mothership = origin; mothership = origin;
// Note: this requires reflexivity. // Note: this requires reflexivity.
assert(pred(start.front, current.front)); assert(pred(start.front, current.front),
"predicate " ~ pred.stringof ~ " is not reflexive");
} }
@property bool empty() { return groupNum == size_t.max; } @property bool empty() { return groupNum == size_t.max; }
@ -1465,7 +1466,7 @@ private struct GroupByImpl(alias pred, Range)
} }
static assert(isForwardRange!Group); static assert(isForwardRange!Group);
RefCounted!Impl impl; private RefCounted!Impl impl;
this(Range r) this(Range r)
{ {