libstdc++/68877 Reimplement std::__is_swappable
authorDaniel Kruegler <daniel.kruegler@gmail.com>
Tue, 12 Jan 2016 21:19:58 +0000 (21:19 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 12 Jan 2016 21:19:58 +0000 (21:19 +0000)
commit26b5ace7ea8aff21431d0070377f24031b60aa24
treef43c510143e6877bb163e4aefc633110dadaa085
parentbd285a8bdbfc7ec391886b7c8433fb4aed1b66eb
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.

From-SVN: r232296
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]