stl_algobase.h (__copy_trivial): Remove.
authorPaolo Carlini <pcarlini@suse.de>
Thu, 1 Jul 2004 17:53:21 +0000 (17:53 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 1 Jul 2004 17:53:21 +0000 (17:53 +0000)
commit695e0fbfe0257a0659880d0a05a2c754660e713f
tree995c20087f223c44c2f5c77cd48ea64ea0c87154
parent9b61c47826156fe17fd5f4306470ade01e2fc4dc
stl_algobase.h (__copy_trivial): Remove.

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.

From-SVN: r83991
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