better range constraints
This commit is contained in:
parent
bf8be04b01
commit
df4b169aa8
|
@ -386,6 +386,9 @@ public:
|
|||
HalfRange<RangeHalf> iter(const RangeHalf &other) const {
|
||||
return HalfRange<RangeHalf>(*this, other);
|
||||
}
|
||||
|
||||
RangeValue<T> *data() { return p_range.data(); }
|
||||
const RangeValue<T> *data() const { return p_range.data(); }
|
||||
};
|
||||
|
||||
template<typename R>
|
||||
|
@ -622,12 +625,15 @@ public:
|
|||
bool put(RangeValue<Rtype> &&v) {
|
||||
return p_beg.range().put(move(v));
|
||||
}
|
||||
|
||||
RangeValue<Rtype> *data() { return p_beg.data(); }
|
||||
const RangeValue<Rtype> *data() const { return p_beg.data(); }
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
struct ReverseRange: InputRange<ReverseRange<T>,
|
||||
RangeCategory<T>, RangeValue<T>, RangeReference<T>, RangeSize<T>,
|
||||
RangeDifference<T>
|
||||
CommonType<RangeCategory<T>, FiniteRandomAccessRangeTag>,
|
||||
RangeValue<T>, RangeReference<T>, RangeSize<T>, RangeDifference<T>
|
||||
> {
|
||||
private:
|
||||
using Rref = RangeReference<T>;
|
||||
|
@ -700,8 +706,8 @@ public:
|
|||
|
||||
template<typename T>
|
||||
struct MoveRange: InputRange<MoveRange<T>,
|
||||
RangeCategory<T>, RangeValue<T>, RangeValue<T> &&, RangeSize<T>,
|
||||
RangeDifference<T>
|
||||
CommonType<RangeCategory<T>, FiniteRandomAccessRangeTag>,
|
||||
RangeValue<T>, RangeValue<T> &&, RangeSize<T>, RangeDifference<T>
|
||||
> {
|
||||
private:
|
||||
using Rval = RangeValue<T>;
|
||||
|
|
Loading…
Reference in a new issue