Move libcds 1.6.0 from SVN
[libcds.git] / tests / test-hdr / queue / hdr_segmented_queue_ptb.cpp
1 //$$CDS-header$$
2
3 #include "hdr_segmented_queue.h"
4 #include <cds/container/segmented_queue.h>
5 #include <cds/gc/ptb.h>
6
7 namespace queue {
8
9     void HdrSegmentedQueue::SegmQueue_PTB()
10     {
11         typedef cds::container::SegmentedQueue< cds::gc::PTB, item > queue_type;
12
13         test<queue_type>();
14     }
15
16     void HdrSegmentedQueue::SegmQueue_PTB_mutex()
17     {
18         typedef cds::container::SegmentedQueue< cds::gc::PTB, item,
19             cds::container::segmented_queue::make_traits<
20                 cds::opt::lock_type< cds_std::mutex >
21             >::type
22         > queue_type;
23
24         test<queue_type>();
25     }
26
27     void HdrSegmentedQueue::SegmQueue_PTB_shuffle()
28     {
29         typedef cds::container::SegmentedQueue< cds::gc::PTB, item,
30             cds::container::segmented_queue::make_traits<
31                 cds::opt::item_counter< cds::atomicity::item_counter >
32                 ,cds::opt::permutation_generator< cds::opt::v::random_shuffle_permutation<> >
33             >::type
34         > queue_type;
35
36         test<queue_type>();
37     }
38
39     void HdrSegmentedQueue::SegmQueue_PTB_stat()
40     {
41         typedef cds::container::SegmentedQueue< cds::gc::PTB, item,
42             cds::container::segmented_queue::make_traits<
43                 cds::opt::item_counter< cds::atomicity::item_counter >
44                 ,cds::opt::permutation_generator< cds::opt::v::random_permutation<> >
45                 ,cds::opt::stat< cds::container::segmented_queue::stat<> >
46             >::type
47         > queue_type;
48
49         test<queue_type>();
50     }
51
52 } // namespace queue