Make vector<bool> iterator operators hidden friends
François Dumont
frs.dumont@gmail.com
Thu May 9 05:49:00 GMT 2019
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.
Tested under linux x86_64 normal mode.
Ok to commit ?
François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bvector_iterator.patch
Type: text/x-patch
Size: 4740 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190509/edc1a302/attachment.bin>
More information about the Libstdc++
mailing list