This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make vector<bool> iterator operators hidden friends


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]