summaryrefslogtreecommitdiff
path: root/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp')
-rw-r--r--test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp103
1 files changed, 0 insertions, 103 deletions
diff --git a/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp b/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
deleted file mode 100644
index 8de582a6b76e3..0000000000000
--- a/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03, c++11
-
-// XFAIL: availability=macosx
-
-// <experimental/any>
-
-// any::swap(any &) noexcept
-
-// Test swap(large, small) and swap(small, large)
-
-#include <experimental/any>
-#include <cassert>
-
-#include "experimental_any_helpers.h"
-
-using std::experimental::any;
-using std::experimental::any_cast;
-
-template <class LHS, class RHS>
-void test_swap() {
- assert(LHS::count == 0);
- assert(RHS::count == 0);
- {
- any a1((LHS(1)));
- any a2(RHS{2});
- assert(LHS::count == 1);
- assert(RHS::count == 1);
-
- a1.swap(a2);
-
- assert(LHS::count == 1);
- assert(RHS::count == 1);
-
- assertContains<RHS>(a1, 2);
- assertContains<LHS>(a2, 1);
- }
- assert(LHS::count == 0);
- assert(RHS::count == 0);
- assert(LHS::copied == 0);
- assert(RHS::copied == 0);
-}
-
-template <class Tp>
-void test_swap_empty() {
- assert(Tp::count == 0);
- {
- any a1((Tp(1)));
- any a2;
- assert(Tp::count == 1);
-
- a1.swap(a2);
-
- assert(Tp::count == 1);
-
- assertContains<Tp>(a2, 1);
- assertEmpty(a1);
- }
- assert(Tp::count == 0);
- {
- any a1((Tp(1)));
- any a2;
- assert(Tp::count == 1);
-
- a2.swap(a1);
-
- assert(Tp::count == 1);
-
- assertContains<Tp>(a2, 1);
- assertEmpty(a1);
- }
- assert(Tp::count == 0);
- assert(Tp::copied == 0);
-}
-
-void test_noexcept()
-{
- any a1;
- any a2;
- static_assert(
- noexcept(a1.swap(a2))
- , "any::swap(any&) must be noexcept"
- );
-}
-
-int main()
-{
- test_noexcept();
- test_swap_empty<small>();
- test_swap_empty<large>();
- test_swap<small1, small2>();
- test_swap<large1, large2>();
- test_swap<small, large>();
- test_swap<large, small>();
-}