diff options
Diffstat (limited to 'test/std/containers/container.adaptors')
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&>())), ""); } } |