aboutsummaryrefslogtreecommitdiff
path: root/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:08 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:08 +0000
commit0564cdb94a7a1facbb0dbf888ceb90638aa70ecd (patch)
tree3ccbf1ba827928fca93419d0b6cf83ce0f650f2a /test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
parentdbabdb5220c44e5938d404eefb84b5ed55667ea8 (diff)
downloadsrc-0564cdb94a7a1facbb0dbf888ceb90638aa70ecd.tar.gz
src-0564cdb94a7a1facbb0dbf888ceb90638aa70ecd.zip
Vendor import of libc++ trunk r321017:vendor/libc++/libc++-trunk-r321017
Notes
Notes: svn path=/vendor/libc++/dist/; revision=326945 svn path=/vendor/libc++/libc++-trunk-r321017/; revision=326946; tag=vendor/libc++/libc++-trunk-r321017
Diffstat (limited to 'test/std/containers/sequences/deque/deque.capacity/size.pass.cpp')
-rw-r--r--test/std/containers/sequences/deque/deque.capacity/size.pass.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp b/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
new file mode 100644
index 000000000000..4974fc74d0b1
--- /dev/null
+++ b/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
@@ -0,0 +1,62 @@
+//===----------------------------------------------------------------------===//
+//
+// 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.
+//
+//===----------------------------------------------------------------------===//
+
+// <deque>
+
+// class deque
+
+// size_type size() const noexcept;
+
+#include <deque>
+#include <cassert>
+
+#include "test_macros.h"
+#include "min_allocator.h"
+
+int main()
+{
+ {
+ typedef std::deque<int> C;
+ C c;
+ ASSERT_NOEXCEPT(c.size());
+ assert(c.size() == 0);
+ c.push_back(C::value_type(2));
+ assert(c.size() == 1);
+ c.push_back(C::value_type(1));
+ assert(c.size() == 2);
+ c.push_back(C::value_type(3));
+ assert(c.size() == 3);
+ c.erase(c.begin());
+ assert(c.size() == 2);
+ c.erase(c.begin());
+ assert(c.size() == 1);
+ c.erase(c.begin());
+ assert(c.size() == 0);
+ }
+#if TEST_STD_VER >= 11
+ {
+ typedef std::deque<int, min_allocator<int>> C;
+ C c;
+ ASSERT_NOEXCEPT(c.size());
+ assert(c.size() == 0);
+ c.push_back(C::value_type(2));
+ assert(c.size() == 1);
+ c.push_back(C::value_type(1));
+ assert(c.size() == 2);
+ c.push_back(C::value_type(3));
+ assert(c.size() == 3);
+ c.erase(c.begin());
+ assert(c.size() == 2);
+ c.erase(c.begin());
+ assert(c.size() == 1);
+ c.erase(c.begin());
+ assert(c.size() == 0);
+ }
+#endif
+}