summaryrefslogtreecommitdiffstats
path: root/Source/cmAlgorithms.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmAlgorithms.h')
-rw-r--r--Source/cmAlgorithms.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h
index 9e3efd3..30328c6 100644
--- a/Source/cmAlgorithms.h
+++ b/Source/cmAlgorithms.h
@@ -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;