[PATCH] Extend std::copy/std::copy_n char* overload to deque iterator

François Dumont frs.dumont@gmail.com
Tue May 26 11:45:46 GMT 2020


On 24/05/20 3:43 pm, François Dumont wrote:
> Now tested in C++98 mode, there was indeed a small problem.
>
> I even wonder if I shouldn't have extend the std::copy overload to any 
> call with deque iterator as the output so that it is transform into an 
> output to pointer.


Ignore this remark, I had a look and we already have an overload that 
does that. It is limited to RA iterators and is just fine.


>
> Ok to commit ?
>
> François
>
> On 23/05/20 6:37 pm, Jonathan Wakely wrote:
>> On 22/05/20 22:57 +0200, François Dumont via Libstdc++ wrote:
>>> On 21/05/20 2:17 pm, Jonathan Wakely wrote:
>>>>
>>>> Why is the optimization not done for C++03 mode?
>>>>
>>> I did it this way because the new std::copy overload rely on 
>>> std::copy_n implementation details which is a C++11 algo.
>>>
>>>
>>>> It looks like the uses of 'auto' can be reaplced easily, and
>>>> __enable_if_t<> can be replaced with __gnu_cxx::__enable_if<>::__type.
>>>>
>>> But yes, we can indeed provide those implementation details in 
>>> pre-C++11.
>>>
>>> This is what I've done in this new version.
>>>
>>> Tested under Linux x86_64 in default c++ mode.
>>>
>>> I tried to use CXXFLAGS=-std=c++03 but it doesn't seem to work even 
>>> if I do see the option in build logs. I remember you adivised a 
>>> different approach, can you tell me again ?
>>
>> See the documentation:
>> https://gcc.gnu.org/onlinedocs/libstdc++/manual/test.html#test.run.permutations 
>>
>>
>>
>



More information about the Libstdc++ mailing list