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

François Dumont frs.dumont@gmail.com
Tue Jun 2 14:20:43 GMT 2020


Hi

Any feedback regarding this patch ?

François


On 26/05/20 1:45 pm, François Dumont wrote:
> 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