Merge branch 'integration' into dev
[libcds.git] / tests / unit / map2 / map_type_std.h
1 //$$CDS-header$$
2
3 #ifndef CDSUNIT_MAP_TYPE_STD_H
4 #define CDSUNIT_MAP_TYPE_STD_H
5
6 #include "map2/map_type.h"
7
8 #include "map2/std_map.h"
9 #include "map2/std_hash_map.h"
10
11 #include "lock/nolock.h"
12
13 namespace map2 {
14
15     struct std_implementation_tag;
16
17     template <typename Key, typename Value>
18     struct map_type< std_implementation_tag, Key, Value >: public map_type_base< Key, Value >
19     {
20         typedef map_type_base< Key, Value > base_class;
21         typedef typename base_class::compare    compare;
22         typedef typename base_class::less       less;
23
24         typedef StdMap< Key, Value, cds::sync::spin >     StdMap_Spin;
25         typedef StdMap< Key, Value, lock::NoLock>         StdMap_NoLock;
26
27         typedef StdHashMap< Key, Value, cds::sync::spin > StdHashMap_Spin;
28         typedef StdHashMap< Key, Value, lock::NoLock >    StdHashMap_NoLock;
29     };
30 }   // namespace map2
31
32 #endif // ifndef CDSUNIT_MAP_TYPE_STD_H