Tervel  1.0.0
A collection of wait-free containers and algorithms.
container_api.h
Go to the documentation of this file.
1 /*
2 #The MIT License (MIT)
3 #
4 #Copyright (c) 2015 University of Central Florida's Computer Software Engineering
5 #Scalable & Secure Systems (CSE - S3) Lab
6 #
7 #Permission is hereby granted, free of charge, to any person obtaining a copy
8 #of this software and associated documentation files (the "Software"), to deal
9 #in the Software without restriction, including without limitation the rights
10 #to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 #copies of the Software, and to permit persons to whom the Software is
12 #furnished to do so, subject to the following conditions:
13 #
14 #The above copyright notice and this permission notice shall be included in
15 #all copies or substantial portions of the Software.
16 #
17 #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 #THE SOFTWARE.
24 #
25 */
26 
27 #ifdef USE_WF_HASHMAP_ND
28  #include "api/wf_hashmap_api.h"
29  #ifdef V_API_SANITY
30  #error TWO or more buffer APIs enabled
31  #else
32  #define V_API_SANITY
33  #endif
34 #endif
35 #ifdef USE_WF_HASHMAP
36  #include "api/wf_hashmapi_nodel_api.h"
37  #ifdef V_API_SANITY
38  #error TWO or more buffer APIs enabled
39  #else
40  #define V_API_SANITY
41  #endif
42 #endif
43 
44 #ifdef USE_TBB_HASHMAP
45 #include "api/tbb_map.h"
46  #ifdef V_API_SANITY
47  #error TWO or more buffer APIs enabled
48  #else
49  #define V_API_SANITY
50  #endif
51 #endif
52 
53 #ifdef USE_BOOST_HASHMAP
54 #include "api/lock_boost_map.h"
55  #ifdef V_API_SANITY
56  #error TWO or more buffer APIs enabled
57  #else
58  #define V_API_SANITY
59  #endif
60 #endif
61 
62 #ifdef USE_STL_HASHMAP
63 #include "api/lock_stl_map.h"
64  #ifdef V_API_SANITY
65  #error TWO or more buffer APIs enabled
66  #else
67  #define V_API_SANITY
68  #endif
69 #endif
70 
71 #ifdef USE_SPLIT_HASHMAP
72 #include "api/cds_split_map.h"
73  #ifdef V_API_SANITY
74  #error TWO or more buffer APIs enabled
75  #else
76  #define V_API_SANITY
77  #endif
78 #endif
79 
80 #ifdef USE_CLIFF_HASHMAP
81 #include "api/cliff_api.h"
82  #ifdef V_API_SANITY
83  #error TWO or more buffer APIs enabled
84  #else
85  #define V_API_SANITY
86  #endif
87 #endif
88 
89 #ifdef USE_MICHAEL_HASHMAP
90 #include "api/cds_michael_map.h"
91  #ifdef V_API_SANITY
92  #error TWO or more buffer APIs enabled
93  #else
94  #define V_API_SANITY
95  #endif
96 #endif
97 
98 #ifndef V_API_SANITY
99  #error no buffer APIs enabled
100 #else
101  #undef V_API_SANITY
102 #endif