Differential D91292 Diff 308912 libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
Show All 9 Lines | |||||
// explicit priority_queue(const Compare& comp); | // explicit priority_queue(const Compare& comp); | ||||
#include <queue> | #include <queue> | ||||
#include <cassert> | #include <cassert> | ||||
#include "test_macros.h" | #include "test_macros.h" | ||||
#include "test_allocator.h" | #include "test_allocator.h" | ||||
#if TEST_STD_VER >= 11 | |||||
#include "test_convertible.h" | |||||
#endif | |||||
int main(int, char**) | int main(int, char**) | ||||
{ | { | ||||
std::priority_queue<int, std::vector<int, limited_allocator<int, 10> > > q((std::less<int>())); | typedef std::vector<int, limited_allocator<int, 10> > Container; | ||||
typedef std::less<int> Compare; | |||||
typedef std::priority_queue<int, Container> Q; | |||||
Q q((Compare())); | |||||
assert(q.size() == 0); | assert(q.size() == 0); | ||||
q.push(1); | q.push(1); | ||||
q.push(2); | q.push(2); | ||||
assert(q.size() == 2); | assert(q.size() == 2); | ||||
assert(q.top() == 2); | assert(q.top() == 2); | ||||
#if TEST_STD_VER >= 11 | |||||
static_assert(!test_convertible<Q, const Compare&>(), ""); | |||||
#endif | |||||
return 0; | return 0; | ||||
} | } |