|
@@ -172,18 +172,30 @@ struct cmRange
|
|
|
const_iterator end() const { return End; }
|
|
|
bool empty() const { return std::distance(Begin, End) == 0; }
|
|
|
difference_type size() const { return std::distance(Begin, End); }
|
|
|
- cmRange& advance(KWIML_INT_intptr_t amount)
|
|
|
+
|
|
|
+ cmRange& advance(KWIML_INT_intptr_t amount) &
|
|
|
{
|
|
|
- std::advance(Begin, amount);
|
|
|
+ std::advance(this->Begin, amount);
|
|
|
return *this;
|
|
|
}
|
|
|
+ cmRange advance(KWIML_INT_intptr_t amount) &&
|
|
|
+ {
|
|
|
+ std::advance(this->Begin, amount);
|
|
|
+ return std::move(*this);
|
|
|
+ }
|
|
|
|
|
|
- cmRange& retreat(KWIML_INT_intptr_t amount)
|
|
|
+ cmRange& retreat(KWIML_INT_intptr_t amount) &
|
|
|
{
|
|
|
std::advance(End, -amount);
|
|
|
return *this;
|
|
|
}
|
|
|
|
|
|
+ cmRange retreat(KWIML_INT_intptr_t amount) &&
|
|
|
+ {
|
|
|
+ std::advance(End, -amount);
|
|
|
+ return std::move(*this);
|
|
|
+ }
|
|
|
+
|
|
|
private:
|
|
|
const_iterator Begin;
|
|
|
const_iterator End;
|