summaryrefslogtreecommitdiffstats
path: root/libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp')
-rw-r--r--libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp b/libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
index 056ee5568a1..cb7155a59f4 100644
--- a/libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
+++ b/libcxx/test/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
@@ -16,7 +16,10 @@
#include <deque>
#include <cassert>
-std::deque<int>
+#include "../../../min_allocator.h"
+
+template <class C>
+C
make(int size, int start = 0 )
{
const int b = 4096 / sizeof(int);
@@ -27,7 +30,7 @@ make(int size, int start = 0 )
init *= b;
--init;
}
- std::deque<int> c(init, 0);
+ C c(init, 0);
for (int i = 0; i < init-start; ++i)
c.pop_back();
for (int i = 0; i < size; ++i)
@@ -37,14 +40,15 @@ make(int size, int start = 0 )
return c;
};
+template <class C>
void test(int size)
{
int rng[] = {0, 1, 2, 3, 1023, 1024, 1025, 2046, 2047, 2048, 2049};
const int N = sizeof(rng)/sizeof(rng[0]);
for (int j = 0; j < N; ++j)
{
- std::deque<int> c = make(size, rng[j]);
- std::deque<int>::const_iterator it = c.begin();
+ C c = make<C>(size, rng[j]);
+ typename C::const_iterator it = c.begin();
for (int i = 0; i < size; ++i, ++it)
assert(*it == i);
}
@@ -52,8 +56,18 @@ void test(int size)
int main()
{
+ {
+ int rng[] = {0, 1, 2, 3, 1023, 1024, 1025, 2046, 2047, 2048, 2049, 4094, 4095, 4096};
+ const int N = sizeof(rng)/sizeof(rng[0]);
+ for (int j = 0; j < N; ++j)
+ test<std::deque<int> >(rng[j]);
+ }
+#if __cplusplus >= 201103L
+ {
int rng[] = {0, 1, 2, 3, 1023, 1024, 1025, 2046, 2047, 2048, 2049, 4094, 4095, 4096};
const int N = sizeof(rng)/sizeof(rng[0]);
for (int j = 0; j < N; ++j)
- test(rng[j]);
+ test<std::deque<int, min_allocator<int>> >(rng[j]);
+ }
+#endif
}
OpenPOWER on IntegriCloud