2004-07-01 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Jul 2004 17:53:21 +0000 (17:53 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Jul 2004 17:53:21 +0000 (17:53 +0000)
commit50f44d58119cc789e685eae84a257312efbe5ce9
tree995c20087f223c44c2f5c77cd48ea64ea0c87154
parent17e8f3e44bec72a66a035ad8defd1a0974584409
2004-07-01  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (__copy_trivial): Remove.
(__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
__is_trivially_copyable, __are_same and __copy::copy.
(__copy): Rewrite as a class template and two specializations.
(__copy_ni2): Simplify, just call __copy_aux.

* include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
check.
* testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
for destination value type != source value type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83991 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/testsuite/25_algorithms/copy/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/2.cc
libstdc++-v3/testsuite/25_algorithms/copy/3.cc
libstdc++-v3/testsuite/25_algorithms/copy/4.cc