File: config.hpp

package info (click to toggle)
xenium 0.0.2%2Bds-9
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 1,152 kB
  • sloc: cpp: 12,299; makefile: 20
file content (36 lines) | stat: -rw-r--r-- 1,005 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once

#define QUEUE_ITEM std::uint32_t

// Many configuration paramters are compile time parameters. Therefore, every
// additional configuration increases compile time. In order to keep compile
// times to a minimum these macros can be used to exclude specific data structures
// or reclamation schemes.

// defines which data structures shall be included
#define WITH_MICHAEL_SCOTT_QUEUE
#define WITH_RAMALHETE_QUEUE
#define WITH_VYUKOV_BOUNDED_QUEUE
#define WITH_KIRSCH_BOUNDED_KFIFO_QUEUE
#define WITH_KIRSCH_KFIFO_QUEUE

#define WITH_VYUKOV_HASH_MAP
#define WITH_HARRIS_MICHAEL_HASH_MAP

// defines which reclamation schemes shall be included
#define WITH_HAZARD_POINTER
#define WITH_QUIESCENT_STATE_BASED
#define WITH_GENERIC_EPOCH_BASED

#ifdef WITH_LIBCDS
  #define WITH_CDS_MSQUEUE
  #define WITH_CDS_BASKET_QUEUE
  #define WITH_CDS_SEGMENTED_QUEUE

  #define WITH_CDS_MICHAEL_HASHMAP
  #define WITH_CDS_FELDMAN_HASHMAP
#endif

#ifdef WITH_BOOST
  #define WITH_BOOST_LOCKFREE_QUEUE
#endif