On 10/05/19 14:40 +0100, Jonathan Wakely wrote:
On Thu, 9 May 2019 at 06:49, François Dumont wrote:

Hi

     Patch similar to the one I just apply for deque iterator including
NRVO copy ellision fix.

     * include/bits/stl_bvector.h
     (operator==(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Make hidden friend.
     (operator<(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (operator!=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (operator>(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (operator<=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (operator>=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (operator-(const _Bit_iterator_base&, const _Bit_iterator_base&)):
     Likewise.
     (_Bit_iterator::operator+(difference_type)): Likewise and allow NRVO
     copy elision.
     (_Bit_iterator::operator-(difference_type)): Likewise.
     (operator+(ptrdiff_t, const _Bit_iterator&)): Make hidden friend.
     (_Bit_const_iterator::operator+(difference_type)): Likewise and allow
     NRVO copy elision.
     (_Bit_const_iterator::operator-(difference_type)): Likewise.
     (operator+(ptrdiff_t, const _Bit_const_iterator&)): Make hidden friend.

These const_iterator overloads seem to be missing the NRVO fix.

But the patch looks good otherwise, so OK for trunk with the NRVO
changes. Thanks.


Reply via email to