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