libstdc++/68877 Reimplement std::__is_swappable
commit03ff028945a51ed376f0039e586eb76da0f437dd
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Jan 2016 21:19:58 +0000 (12 21:19 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Jan 2016 21:19:58 +0000 (12 21:19 +0000)
treef43c510143e6877bb163e4aefc633110dadaa085
parentd27f6194d4aaba6ce020f8508d8961a634bcec90
libstdc++/68877 Reimplement std::__is_swappable

2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>

PR libstdc++/68877
* include/std/type_traits: Following N4511, reimplement __is_swappable
and __is_nothrow_swappable. Move __is_swappable to namespace std,
adjust callers. Use __is_nothrow_swappable in swap.
* include/bits/move.h: Use __is_nothrow_swappable in swap.
* testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
__is_swappable related tests.
* testsuite/20_util/is_swappable/value.cc: New.
* testsuite/20_util/is_swappable/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
* testsuite/25_algorithms/swap/68877.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232296 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/move.h
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/is_swappable/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/swap/68877.cc [new file with mode: 0644]