fix swap_ranges api to correctly handle differently sized ranges

master
Daniel Kolesa 2015-05-27 00:49:35 +01:00
parent e9367246b5
commit 28828ff448
1 changed files with 4 additions and 3 deletions

View File

@ -366,12 +366,13 @@ namespace octa {
}
template<typename R1, typename R2>
R2 swap_ranges(R1 range1, R2 range2) {
for (; !range1.empty(); range1.pop_first()) {
Pair<R1, R2> swap_ranges(R1 range1, R2 range2) {
while (!range1.empty() && !range2.empty()) {
swap(range1.first(), range2.first());
range1.pop_first();
range2.pop_first();
}
return range2;
return Pair<R1, R2>(range1, range2);
}
template<typename R, typename T>