ctor_comp_rcontainer.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===//
2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
3bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// ��������������������The LLVM Compiler Infrastructure
4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
5bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// This file is distributed under the University of Illinois Open Source
6bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// License. See LICENSE.TXT for details.
7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===//
9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// <queue>
11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// explicit priority_queue(const Compare& comp, container_type&& c);
13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <queue>
15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <cassert>
16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "../../../../MoveOnly.h"
18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#ifdef _LIBCPP_MOVE
20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnanttemplate <class C>
22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard HinnantC
23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantmake(int n)
24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{
25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    C c;
26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    for (int i = 0; i < n; ++i)
27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant        c.push_back(MoveOnly(i));
28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    return c;
29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}
30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#endif
32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
33bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantint main()
34bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{
35bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#ifdef _LIBCPP_MOVE
36bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    std::priority_queue<MoveOnly> q(std::less<MoveOnly>(), make<std::vector<MoveOnly> >(5));
37bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    assert(q.size() == 5);
38bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    assert(q.top() == MoveOnly(4));
39bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#endif
40bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}
41