summaryrefslogtreecommitdiffstats
path: root/libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2013-06-23 21:17:24 +0000
committerHoward Hinnant <hhinnant@apple.com>2013-06-23 21:17:24 +0000
commit14e200d14d02fd36fd1ff1fd02b9b150ce170db8 (patch)
tree064e9770be840f37d5bc39b5a51a16cb0fbd3d90 /libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp
parent60c16eb7f537dcabce2aa9c0f3305d7f44287cf5 (diff)
downloadbcm5719-llvm-14e200d14d02fd36fd1ff1fd02b9b150ce170db8.tar.gz
bcm5719-llvm-14e200d14d02fd36fd1ff1fd02b9b150ce170db8.zip
Implement full support for non-pointer pointers in custom allocators for deque.
llvm-svn: 184673
Diffstat (limited to 'libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp')
-rw-r--r--libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp b/libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp
index 3990af3f458..a9e760f2fbd 100644
--- a/libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp
+++ b/libcxx/test/containers/sequences/deque/deque.cons/move_assign.pass.cpp
@@ -16,6 +16,7 @@
#include "../../../MoveOnly.h"
#include "../../../test_allocator.h"
+#include "../../../min_allocator.h"
int main()
{
@@ -68,5 +69,23 @@ int main()
assert(c1.size() == 0);
assert(c3.get_allocator() == A(5));
}
+#if __cplusplus >= 201103L
+ {
+ int ab[] = {3, 4, 2, 8, 0, 1, 44, 34, 45, 96, 80, 1, 13, 31, 45};
+ int* an = ab + sizeof(ab)/sizeof(ab[0]);
+ typedef min_allocator<MoveOnly> A;
+ std::deque<MoveOnly, A> c1(A{});
+ for (int* p = ab; p < an; ++p)
+ c1.push_back(MoveOnly(*p));
+ std::deque<MoveOnly, A> c2(A{});
+ for (int* p = ab; p < an; ++p)
+ c2.push_back(MoveOnly(*p));
+ std::deque<MoveOnly, A> c3(A{});
+ c3 = std::move(c1);
+ assert(c2 == c3);
+ assert(c1.size() == 0);
+ assert(c3.get_allocator() == A());
+ }
+#endif
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
}
OpenPOWER on IntegriCloud