summaryrefslogtreecommitdiffstats
path: root/libcxx/test/containers/sequences/array/array.tuple
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2010-11-17 19:52:17 +0000
committerHoward Hinnant <hhinnant@apple.com>2010-11-17 19:52:17 +0000
commit601afb30ec6ea4171acd812290e79ac49bdd19c5 (patch)
treea7e0c4f4581b3c6d66c52a3515138cf0feb43297 /libcxx/test/containers/sequences/array/array.tuple
parenteebbbeb917efe74be9e8181ebf113671f7622ef5 (diff)
downloadbcm5719-llvm-601afb30ec6ea4171acd812290e79ac49bdd19c5.tar.gz
bcm5719-llvm-601afb30ec6ea4171acd812290e79ac49bdd19c5.zip
LWG 1191
llvm-svn: 119545
Diffstat (limited to 'libcxx/test/containers/sequences/array/array.tuple')
-rw-r--r--libcxx/test/containers/sequences/array/array.tuple/get_rv.pass.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/libcxx/test/containers/sequences/array/array.tuple/get_rv.pass.cpp b/libcxx/test/containers/sequences/array/array.tuple/get_rv.pass.cpp
new file mode 100644
index 00000000000..869c1ec9c2d
--- /dev/null
+++ b/libcxx/test/containers/sequences/array/array.tuple/get_rv.pass.cpp
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+// 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.
+//
+//===----------------------------------------------------------------------===//
+
+// <array>
+
+// template <size_t I, class T, size_t N> T&& get(array<T, N>&& a);
+
+#include <array>
+#include <memory>
+#include <cassert>
+
+int main()
+{
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+ {
+ typedef std::unique_ptr<double> T;
+ typedef std::array<T, 1> C;
+ C c = {std::unique_ptr<double>(new double(3.5))};
+ T t = std::get<0>(std::move(c));
+ assert(*t == 3.5);
+ }
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}
OpenPOWER on IntegriCloud