Replacing some integral typedefs with standard types
[libcds.git] / tests / test-hdr / priority_queue / hdr_mspqueue_dyn.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::dynamic_buffer< char > buffer_type;
16     }
17
18     void PQueueHdrTest::MSPQueue_dyn()
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_dyn<pqueue>();
27     }
28
29     void PQueueHdrTest::MSPQueue_dyn_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_dyn<pqueue>();
39     }
40
41     void PQueueHdrTest::MSPQueue_dyn_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_dyn<pqueue>();
51     }
52
53     void PQueueHdrTest::MSPQueue_dyn_cmpless()
54     {
55         struct pqueue_traits : public cds::container::mspriority_queue::traits
56         {
57             typedef buffer_type buffer;
58             typedef PQueueHdrTest::less less;
59             typedef PQueueHdrTest::compare compare;
60         };
61         typedef cds::container::MSPriorityQueue< PQueueHdrTest::value_type, pqueue_traits > pqueue;
62
63         test_msq_dyn<pqueue>();
64     }
65
66     void PQueueHdrTest::MSPQueue_dyn_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_dyn<pqueue>();
77     }
78
79 } // namespace priority_queue