- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooStripedMap_list_unord;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooStripedMap_list_unord_stat;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooStripedMap_list_unord_storehash;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooStripedMap_list_ord;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooStripedMap_list_ord_stat;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooStripedMap_list_ord_storehash;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooStripedMap_vector_unord;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooStripedMap_vector_unord_stat;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooStripedMap_vector_unord_storehash;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooStripedMap_vector_ord;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooStripedMap_vector_ord_stat;
-
- typedef CuckooStripedMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooStripedMap_vector_ord_storehash;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooRefinableMap_list_unord;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooRefinableMap_list_unord_stat;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooRefinableMap_list_unord_storehash;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooRefinableMap_list_ord;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooRefinableMap_list_ord_stat;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::list >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooRefinableMap_list_ord_storehash;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooRefinableMap_vector_unord;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooRefinableMap_vector_unord_stat;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::equal_to< equal_to >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooRefinableMap_vector_unord_storehash;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- > CuckooRefinableMap_vector_ord;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,co::stat< cc::cuckoo::stat >
- > CuckooRefinableMap_vector_ord_stat;
-
- typedef CuckooRefinableMap< Key, Value,
- cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
- ,co::compare< compare >
- ,co::hash< std::tuple< hash, hash2 > >
- ,cc::cuckoo::store_hash< true >
- > CuckooRefinableMap_vector_ord_storehash;
+ template <typename Traits>
+ struct traits_CuckooStripedMap: public Traits
+ {
+ typedef cc::cuckoo::striping<> mutex_policy;
+ };
+ template <typename Traits>
+ struct traits_CuckooRefinableMap : public Traits
+ {
+ typedef cc::cuckoo::refinable<> mutex_policy;
+ };
+
+ struct traits_CuckooMap_list_unord :
+ public cc::cuckoo::make_traits <
+ cc::cuckoo::probeset_type< cc::cuckoo::list >
+ , co::equal_to< equal_to >
+ , co::hash< std::tuple< hash, hash2 > >
+ > ::type
+ {};
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_unord>> CuckooStripedMap_list_unord;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_unord>> CuckooRefinableMap_list_unord;
+
+ struct traits_CuckooMap_list_unord_stat : public traits_CuckooMap_list_unord
+ {
+ typedef cc::cuckoo::stat stat;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_unord_stat>> CuckooStripedMap_list_unord_stat;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_unord_stat>> CuckooRefinableMap_list_unord_stat;
+
+ struct traits_CuckooMap_list_unord_storehash : public traits_CuckooMap_list_unord
+ {
+ static CDS_CONSTEXPR const bool store_hash = true;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_unord_storehash>> CuckooStripedMap_list_unord_storehash;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_unord_storehash>> CuckooRefinableMap_list_unord_storehash;
+
+ struct traits_CuckooMap_list_ord :
+ public cc::cuckoo::make_traits <
+ cc::cuckoo::probeset_type< cc::cuckoo::list >
+ , co::compare< compare >
+ , co::hash< std::tuple< hash, hash2 > >
+ >::type
+ {};
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_ord>> CuckooStripedMap_list_ord;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_ord>> CuckooRefinableMap_list_ord;
+
+ struct traits_CuckooMap_list_ord_stat : public traits_CuckooMap_list_ord
+ {
+ typedef cc::cuckoo::stat stat;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_ord_stat>> CuckooStripedMap_list_ord_stat;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_ord_stat>> CuckooRefinableMap_list_ord_stat;
+
+ struct traits_CuckooMap_list_ord_storehash : public traits_CuckooMap_list_ord
+ {
+ static CDS_CONSTEXPR const bool store_hash = true;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_list_ord_storehash>> CuckooStripedMap_list_ord_storehash;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_list_ord_storehash>> CuckooRefinableMap_list_ord_storehash;
+
+ struct traits_CuckooMap_vector_unord :
+ public cc::cuckoo::make_traits <
+ cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
+ , co::equal_to< equal_to >
+ , co::hash< std::tuple< hash, hash2 > >
+ >::type
+ {};
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_unord>> CuckooStripedMap_vector_unord;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_unord>> CuckooRefinableMap_vector_unord;
+
+ struct traits_CuckooMap_vector_unord_stat : public traits_CuckooMap_vector_unord
+ {
+ typedef cc::cuckoo::stat stat;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_unord_stat>> CuckooStripedMap_vector_unord_stat;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_unord_stat>> CuckooRefinableMap_vector_unord_stat;
+
+ struct traits_CuckooMap_vector_unord_storehash : public traits_CuckooMap_vector_unord
+ {
+ static CDS_CONSTEXPR const bool store_hash = true;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_unord_storehash>> CuckooStripedMap_vector_unord_storehash;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_unord_storehash>> CuckooRefinableMap_vector_unord_storehash;
+
+ struct traits_CuckooMap_vector_ord :
+ public cc::cuckoo::make_traits <
+ cc::cuckoo::probeset_type< cc::cuckoo::vector<4> >
+ , co::compare< compare >
+ , co::hash< std::tuple< hash, hash2 > >
+ >::type
+ {};
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_ord>> CuckooStripedMap_vector_ord;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_ord>> CuckooRefinableMap_vector_ord;
+
+ struct traits_CuckooMap_vector_ord_stat : public traits_CuckooMap_vector_ord
+ {
+ typedef cc::cuckoo::stat stat;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_ord_stat>> CuckooStripedMap_vector_ord_stat;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_ord_stat>> CuckooRefinableMap_vector_ord_stat;
+
+ struct traits_CuckooMap_vector_ord_storehash : public traits_CuckooMap_vector_ord
+ {
+ static CDS_CONSTEXPR const bool store_hash = true;
+ };
+ typedef CuckooMap< Key, Value, traits_CuckooStripedMap<traits_CuckooMap_vector_ord_storehash>> CuckooStripedMap_vector_ord_storehash;
+ typedef CuckooMap< Key, Value, traits_CuckooRefinableMap<traits_CuckooMap_vector_ord_storehash>> CuckooRefinableMap_vector_ord_storehash;