Qualify boost::move calls to avoid ADL ambiguities

This commit is contained in:
Ion Gaztañaga
2017-12-26 21:55:14 +01:00
parent 081236e9e0
commit 5c463507db

View File

@@ -101,21 +101,21 @@ void insertion_sort_uninitialized_copy
typedef typename iterator_traits<BirdirectionalIterator>::value_type value_type; typedef typename iterator_traits<BirdirectionalIterator>::value_type value_type;
if (first1 != last1){ if (first1 != last1){
BirdirectionalRawIterator last2 = first2; BirdirectionalRawIterator last2 = first2;
::new((iterator_to_raw_pointer)(last2), boost_move_new_t()) value_type(move(*first1)); ::new((iterator_to_raw_pointer)(last2), boost_move_new_t()) value_type(::boost::move(*first1));
destruct_n<value_type, BirdirectionalRawIterator> d(first2); destruct_n<value_type, BirdirectionalRawIterator> d(first2);
d.incr(); d.incr();
for (++last2; ++first1 != last1; ++last2){ for (++last2; ++first1 != last1; ++last2){
BirdirectionalRawIterator j2 = last2; BirdirectionalRawIterator j2 = last2;
BirdirectionalRawIterator k2 = j2; BirdirectionalRawIterator k2 = j2;
if (comp(*first1, *--k2)){ if (comp(*first1, *--k2)){
::new((iterator_to_raw_pointer)(j2), boost_move_new_t()) value_type(move(*k2)); ::new((iterator_to_raw_pointer)(j2), boost_move_new_t()) value_type(::boost::move(*k2));
d.incr(); d.incr();
for (--j2; k2 != first2 && comp(*first1, *--k2); --j2) for (--j2; k2 != first2 && comp(*first1, *--k2); --j2)
*j2 = move(*k2); *j2 = ::boost::move(*k2);
*j2 = move(*first1); *j2 = ::boost::move(*first1);
} }
else{ else{
::new((iterator_to_raw_pointer)(j2), boost_move_new_t()) value_type(move(*first1)); ::new((iterator_to_raw_pointer)(j2), boost_move_new_t()) value_type(::boost::move(*first1));
d.incr(); d.incr();
} }
} }