MSPriorityQueue refactoring, bug fix
[libcds.git] / tests / test-hdr / priority_queue / hdr_mspqueue_static.cpp
1 //$$CDS-header$$
2
3 #include "priority_queue/hdr_pqueue.h"
4 #include <cds/container/mspriority_queue.h>
5
6 namespace priority_queue {
7     namespace pqueue {
8         template <typename T, typename Traits>
9         struct constants<cds::container::MSPriorityQueue<T, Traits> > {
10             static size_t const nCapacity = c_nCapacity - 1;
11         };
12     }
13
14     namespace {
15         typedef cds::opt::v::static_buffer< char, PQueueHdrTest::c_nCapacity > buffer_type;
16     }
17
18     void PQueueHdrTest::MSPQueue_st()
19     {
20         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type,
21             cds::container::mspriority_queue::make_traits<
22                 cds::opt::buffer< buffer_type >
23             >::type
24         > pqueue;
25
26         test_msq_stat<pqueue>();
27     }
28
29     void PQueueHdrTest::MSPQueue_st_cmp()
30     {
31         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type,
32             cds::container::mspriority_queue::make_traits<
33                 cds::opt::buffer< buffer_type >
34                 ,cds::opt::compare< PQueueHdrTest::compare >
35             >::type
36         > pqueue;
37
38         test_msq_stat<pqueue>();
39     }
40
41     void PQueueHdrTest::MSPQueue_st_less()
42     {
43         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type,
44             cds::container::mspriority_queue::make_traits<
45                 cds::opt::buffer< buffer_type >
46                 ,cds::opt::less< PQueueHdrTest::less >
47             >::type
48         > pqueue;
49
50         test_msq_stat<pqueue>();
51     }
52
53     void PQueueHdrTest::MSPQueue_st_cmpless()
54     {
55         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type,
56             cds::container::mspriority_queue::make_traits<
57                 cds::opt::buffer< buffer_type >
58                 ,cds::opt::less< PQueueHdrTest::less >
59                 ,cds::opt::compare< PQueueHdrTest::compare >
60             >::type
61         > pqueue;
62
63         test_msq_stat<pqueue>();
64     }
65
66     void PQueueHdrTest::MSPQueue_st_cmp_mtx()
67     {
68         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type,
69             cds::container::mspriority_queue::make_traits<
70                 cds::opt::buffer< buffer_type >
71                 ,cds::opt::compare< PQueueHdrTest::compare >
72                 ,cds::opt::lock_type<std::mutex>
73             >::type
74         > pqueue;
75
76         test_msq_stat<pqueue>();
77     }
78
79 } // namespace priority_queue