aboutsummaryrefslogtreecommitdiff
path: root/test/std/containers/container.adaptors
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/containers/container.adaptors')
-rw-r--r--test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp18
-rw-r--r--test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp4
-rw-r--r--test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp3
-rw-r--r--test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp16
-rw-r--r--test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp4
17 files changed, 52 insertions, 34 deletions
diff --git a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
index f543b6379f15..f435ac3066f4 100644
--- a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
+++ b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
@@ -14,11 +14,11 @@
#include <queue>
#include <cassert>
-#include "../../../stack_allocator.h"
+#include "test_allocator.h"
int main()
{
- std::priority_queue<int, std::vector<int, stack_allocator<int, 10> > > q((std::less<int>()));
+ std::priority_queue<int, std::vector<int, limited_allocator<int, 10> > > q((std::less<int>()));
assert(q.size() == 0);
q.push(1);
q.push(2);
diff --git a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
index 2bffe80ae11b..5125a433652c 100644
--- a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
+++ b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
@@ -14,11 +14,11 @@
#include <queue>
#include <cassert>
-#include "../../../stack_allocator.h"
+#include "test_allocator.h"
int main()
{
- std::priority_queue<int, std::vector<int, stack_allocator<int, 10> > > q;
+ std::priority_queue<int, std::vector<int, limited_allocator<int, 10> > > q;
assert(q.size() == 0);
q.push(1);
q.push(2);
diff --git a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
index 1aaa8a3c6593..b3cd33549d7a 100644
--- a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
+++ b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
@@ -14,12 +14,13 @@
#include <queue>
#include <cassert>
+#include <cstddef>
int main()
{
int a[] = {3, 5, 2, 0, 6, 8, 1};
int* an = a + sizeof(a)/sizeof(a[0]);
std::priority_queue<int> q(a, an);
- assert(q.size() == an - a);
+ assert(q.size() == static_cast<std::size_t>(an - a));
assert(q.top() == 8);
}
diff --git a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
index 17a698c15dff..360f66393e89 100644
--- a/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
+++ b/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
@@ -15,6 +15,7 @@
#include <queue>
#include <cassert>
#include <functional>
+#include <cstddef>
int main()
{
@@ -22,6 +23,6 @@ int main()
int* an = a + sizeof(a)/sizeof(a[0]);
std::priority_queue<int, std::vector<int>, std::greater<int> >
q(a, an, std::greater<int>());
- assert(q.size() == an - a);
+ assert(q.size() == static_cast<std::size_t>(an - a));
assert(q.top() == 0);
}
diff --git a/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp b/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
index bfff607590fe..845ca758769d 100644
--- a/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
+++ b/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
@@ -18,6 +18,7 @@
// UNSUPPORTED: c++98, c++03
#include <queue>
+#include <utility>
#include <cassert>
#include "MoveOnly.h"
@@ -26,7 +27,6 @@ int main()
{
{
typedef std::priority_queue<MoveOnly> C;
- C c1, c2;
- static_assert(noexcept(swap(c1, c2)), "");
+ static_assert(noexcept(swap(std::declval<C&>(), std::declval<C&>())), "");
}
}
diff --git a/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp b/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
index 16ba1747dd8a..e4fff91f07c7 100644
--- a/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
@@ -14,6 +14,7 @@
#include <queue>
#include <cassert>
+#include <cstddef>
#include "test_allocator.h"
@@ -49,7 +50,7 @@ int main()
test q(d, test_allocator<int>(4));
assert(q.get_allocator() == test_allocator<int>(4));
assert(q.size() == 5);
- for (int i = 0; i < d.size(); ++i)
+ for (C::size_type i = 0; i < d.size(); ++i)
{
assert(q.front() == d[i]);
q.pop();
diff --git a/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp b/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
index c4ab955c311b..6832a5f8b84a 100644
--- a/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
@@ -13,6 +13,7 @@
#include <queue>
#include <cassert>
+#include <cstddef>
template <class C>
C
@@ -29,7 +30,7 @@ int main()
std::deque<int> d = make<std::deque<int> >(5);
std::queue<int> q(d);
assert(q.size() == 5);
- for (int i = 0; i < d.size(); ++i)
+ for (std::size_t i = 0; i < d.size(); ++i)
{
assert(q.front() == d[i]);
q.pop();
diff --git a/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp b/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
index e6aadd39dd9b..f4b69223695e 100644
--- a/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
@@ -14,11 +14,11 @@
#include <queue>
#include <cassert>
-#include "../../../stack_allocator.h"
+#include "test_allocator.h"
int main()
{
- std::queue<int, std::vector<int, stack_allocator<int, 10> > > q;
+ std::queue<int, std::vector<int, limited_allocator<int, 10> > > q;
assert(q.size() == 0);
q.push(1);
q.push(2);
diff --git a/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp b/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
index 1c13b622c0a5..c8becb3ca98a 100644
--- a/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
@@ -19,12 +19,13 @@
#include <queue>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
int main()
{
{
typedef std::queue<MoveOnly> C;
- static_assert(std::is_nothrow_move_constructible<C>::value, "");
+ LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
}
}
diff --git a/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp b/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
index 1d9c08b156b7..77d822a0794d 100644
--- a/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
@@ -7,9 +7,11 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <queue>
-// template <class... Args> void emplace(Args&&... args);
+// template <class... Args> reference emplace(Args&&... args);
#include <queue>
#include <cassert>
@@ -18,13 +20,17 @@
int main()
{
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+ typedef Emplaceable T;
std::queue<Emplaceable> q;
- q.emplace(1, 2.5);
- q.emplace(2, 3.5);
- q.emplace(3, 4.5);
+ T& r1 = q.emplace(1, 2.5);
+ assert(&r1 == &q.back());
+ T& r2 = q.emplace(2, 3.5);
+ assert(&r2 == &q.back());
+ T& r3 = q.emplace(3, 4.5);
+ assert(&r3 == &q.back());
assert(q.size() == 3);
assert(q.front() == Emplaceable(1, 2.5));
assert(q.back() == Emplaceable(3, 4.5));
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+ assert(&r3 == &q.back());
+ assert(&r1 == &q.front());
}
diff --git a/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp b/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
index e18f80a91198..542b4901173c 100644
--- a/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
+++ b/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
@@ -17,6 +17,7 @@
// UNSUPPORTED: c++98, c++03
#include <queue>
+#include <utility>
#include <cassert>
#include "MoveOnly.h"
@@ -25,7 +26,6 @@ int main()
{
{
typedef std::queue<MoveOnly> C;
- C c1, c2;
- static_assert(noexcept(swap(c1, c2)), "");
+ static_assert(noexcept(swap(std::declval<C&>(), std::declval<C&>())), "");
}
}
diff --git a/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp b/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
index fe8622751c95..b3cf39207203 100644
--- a/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
@@ -14,6 +14,7 @@
#include <stack>
#include <cassert>
+#include <cstddef>
#include "test_allocator.h"
@@ -49,7 +50,7 @@ int main()
test q(d, test_allocator<int>(4));
assert(q.get_allocator() == test_allocator<int>(4));
assert(q.size() == 5);
- for (int i = 0; i < d.size(); ++i)
+ for (C::size_type i = 0; i < d.size(); ++i)
{
assert(q.top() == d[d.size() - i - 1]);
q.pop();
diff --git a/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp b/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
index 9dc05013e3dd..7ae12dd709d9 100644
--- a/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
@@ -13,6 +13,7 @@
#include <stack>
#include <cassert>
+#include <cstddef>
template <class C>
C
@@ -29,7 +30,7 @@ int main()
std::deque<int> d = make<std::deque<int> >(5);
std::stack<int> q(d);
assert(q.size() == 5);
- for (int i = 0; i < d.size(); ++i)
+ for (std::size_t i = 0; i < d.size(); ++i)
{
assert(q.top() == d[d.size() - i - 1]);
q.pop();
diff --git a/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp b/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
index 523cd6811893..82e459a4bc84 100644
--- a/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
@@ -15,11 +15,11 @@
#include <vector>
#include <cassert>
-#include "../../../stack_allocator.h"
+#include "test_allocator.h"
int main()
{
- std::stack<int, std::vector<int, stack_allocator<int, 10> > > q;
+ std::stack<int, std::vector<int, limited_allocator<int, 10> > > q;
assert(q.size() == 0);
q.push(1);
q.push(2);
diff --git a/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp b/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
index 7eb563c76835..c34b7e07000e 100644
--- a/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
@@ -19,12 +19,13 @@
#include <stack>
#include <cassert>
+#include "test_macros.h"
#include "MoveOnly.h"
int main()
{
{
typedef std::stack<MoveOnly> C;
- static_assert(std::is_nothrow_move_constructible<C>::value, "");
+ LIBCPP_STATIC_ASSERT(std::is_nothrow_move_constructible<C>::value, "");
}
}
diff --git a/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp b/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
index 3573c220ece9..71fe903b74a8 100644
--- a/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
@@ -7,9 +7,11 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <stack>
-// template <class... Args> void emplace(Args&&... args);
+// template <class... Args> reference emplace(Args&&... args);
#include <stack>
#include <cassert>
@@ -18,12 +20,14 @@
int main()
{
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+ typedef Emplaceable T;
std::stack<Emplaceable> q;
- q.emplace(1, 2.5);
- q.emplace(2, 3.5);
- q.emplace(3, 4.5);
+ T& r1 = q.emplace(1, 2.5);
+ assert(&r1 == &q.top());
+ T& r2 = q.emplace(2, 3.5);
+ assert(&r2 == &q.top());
+ T& r3 = q.emplace(3, 4.5);
+ assert(&r3 == &q.top());
assert(q.size() == 3);
assert(q.top() == Emplaceable(3, 4.5));
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
}
diff --git a/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp b/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
index 976e362a0483..12150055394e 100644
--- a/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
+++ b/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
@@ -17,6 +17,7 @@
// UNSUPPORTED: c++98, c++03
#include <stack>
+#include <utility>
#include <cassert>
#include "MoveOnly.h"
@@ -25,7 +26,6 @@ int main()
{
{
typedef std::stack<MoveOnly> C;
- C c1, c2;
- static_assert(noexcept(swap(c1, c2)), "");
+ static_assert(noexcept(swap(std::declval<C&>(), std::declval<C&>())), "");
}
}