blob: 16a2faadc65860be62a1b3ec285cc23e440b257e [file] [log] [blame]
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00001//===----------------------------------------------------------------------===//
2//
Howard Hinnantf5256e12010-05-11 21:36:01 +00003// The LLVM Compiler Infrastructure
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00004//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <queue>
11
12// explicit queue(container_type&& c);
13
14#include <queue>
15#include <cassert>
16
17#include "../../../../MoveOnly.h"
18
Howard Hinnant73d21a42010-09-04 23:28:19 +000019#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000020
21template <class C>
22C
23make(int n)
24{
25 C c;
26 for (int i = 0; i < n; ++i)
27 c.push_back(MoveOnly(i));
28 return c;
29}
30
Howard Hinnant73d21a42010-09-04 23:28:19 +000031#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000032
33int main()
34{
Howard Hinnant73d21a42010-09-04 23:28:19 +000035#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000036 std::queue<MoveOnly> q(make<std::deque<MoveOnly> >(5));
37 assert(q.size() == 5);
Howard Hinnant73d21a42010-09-04 23:28:19 +000038#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000039}