Make vector<bool> iterator operators hidden friends
Jonathan Wakely
jwakely@redhat.com
Fri May 10 13:59:00 GMT 2019
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.
More information about the Libstdc++
mailing list