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;
if (first1 != last1){
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);
d.incr();
for (++last2; ++first1 != last1; ++last2){
BirdirectionalRawIterator j2 = last2;
BirdirectionalRawIterator k2 = j2;
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();
for (--j2; k2 != first2 && comp(*first1, *--k2); --j2)
*j2 = move(*k2);
*j2 = move(*first1);
*j2 = ::boost::move(*k2);
*j2 = ::boost::move(*first1);
}
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();
}
}