* include/bits/stl_iterator_base_funcs.h
(__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev
cases where incrementing or decrementing a single step.
From-SVN: r248875
2017-06-05 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/stl_iterator_base_funcs.h
+ (__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev
+ cases where incrementing or decrementing a single step.
+
* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
specifiers as per LWG 2873 and LWG 2942.
// concept requirements
__glibcxx_function_requires(_RandomAccessIteratorConcept<
_RandomAccessIterator>)
- __i += __n;
+ if (__builtin_constant_p(__n) && __n == 1)
+ ++__i;
+ else if (__builtin_constant_p(__n) && __n == -1)
+ --__i;
+ else
+ __i += __n;
}
/**