3 #include "set/hdr_intrusive_cuckoo_set.h"
4 #include <cds/intrusive/cuckoo_set.h>
6 #include "set/intrusive_cuckoo_set_common.h"
7 #include "../unit/print_cuckoo_stat.h"
11 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_equal()
13 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
14 struct set_traits : public ci::cuckoo::traits {
15 typedef co::hash_tuple< hash1, hash2 > hash;
16 typedef set::equal_to<item_type> equal_to;
18 typedef ci::CuckooSet< item_type, set_traits > set_type;
20 test_cuckoo<set_type>();
23 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_equal()
25 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
27 struct set_traits : public ci::cuckoo::traits {
28 typedef ci::cuckoo::base_hook< ci::cuckoo::probeset_type< item_type::probeset_type >> hook;
29 typedef co::hash_tuple< hash1, hash2 > hash;
30 typedef set::equal_to<item_type> equal_to;
32 typedef ci::CuckooSet< item_type, set_traits > set_type;
34 test_cuckoo<set_type>();
37 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_cmp()
39 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
41 typedef ci::CuckooSet< item_type
42 ,ci::cuckoo::make_traits<
43 ci::opt::hook< ci::cuckoo::base_hook<
44 ci::cuckoo::probeset_type< item_type::probeset_type >
46 ,co::hash< std::tuple< hash1, hash2 > >
47 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
51 test_cuckoo<set_type>();
54 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_cmp()
56 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
58 typedef ci::CuckooSet< item_type
59 ,ci::cuckoo::make_traits<
60 ci::opt::hook< ci::cuckoo::base_hook<
61 ci::cuckoo::probeset_type< item_type::probeset_type >
63 ,co::hash< std::tuple< hash1, hash2 > >
64 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
68 test_cuckoo<set_type>();
71 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_less()
73 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
75 typedef ci::CuckooSet< item_type
76 ,ci::cuckoo::make_traits<
77 ci::opt::hook< ci::cuckoo::base_hook<
78 ci::cuckoo::probeset_type< item_type::probeset_type >
80 ,co::hash< std::tuple< hash1, hash2 > >
81 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
85 test_cuckoo<set_type>();
88 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_less()
90 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
92 typedef ci::CuckooSet< item_type
93 ,ci::cuckoo::make_traits<
94 ci::opt::hook< ci::cuckoo::base_hook<
95 ci::cuckoo::probeset_type< item_type::probeset_type >
97 ,co::hash< std::tuple< hash1, hash2 > >
98 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
102 test_cuckoo<set_type>();
105 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_cmpmix()
107 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
109 typedef ci::CuckooSet< item_type
110 ,ci::cuckoo::make_traits<
111 ci::opt::hook< ci::cuckoo::base_hook<
112 ci::cuckoo::probeset_type< item_type::probeset_type >
114 ,co::hash< std::tuple< hash1, hash2 > >
115 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
116 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
120 test_cuckoo<set_type>();
123 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_cmpmix()
125 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > > item_type;
127 typedef ci::CuckooSet< item_type
128 ,ci::cuckoo::make_traits<
129 ci::opt::hook< ci::cuckoo::base_hook<
130 ci::cuckoo::probeset_type< item_type::probeset_type >
132 ,co::hash< std::tuple< hash1, hash2 > >
133 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
134 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
138 test_cuckoo<set_type>();
141 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_cmpmix_stat()
143 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > > item_type;
145 typedef ci::CuckooSet< item_type
146 ,ci::cuckoo::make_traits<
147 ci::opt::hook< ci::cuckoo::base_hook<
148 ci::cuckoo::probeset_type< item_type::probeset_type >
150 ,co::hash< std::tuple< hash1, hash2 > >
151 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
152 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
153 ,co::stat< ci::cuckoo::stat >
157 unsigned int nProbesetSize = set_type::node_type::probeset_size ? set_type::node_type::probeset_size : 4;
158 set_type s( 256, nProbesetSize, nProbesetSize / 2 );
160 CPPUNIT_MSG( s.statistics() << s.mutex_policy_statistics() );
164 // base hook, store hash
165 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_equal_storehash()
167 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
168 typedef ci::CuckooSet< item_type
169 ,ci::cuckoo::make_traits<
170 ci::opt::hook< ci::cuckoo::base_hook<
171 ci::cuckoo::probeset_type< item_type::probeset_type >
172 ,ci::cuckoo::store_hash< item_type::hash_array_size >
174 ,co::hash< std::tuple< hash1, hash2 > >
175 ,co::equal_to< equal_to<item_type> >
179 test_cuckoo<set_type>();
182 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_equal_storehash()
184 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > > item_type;
186 typedef ci::CuckooSet< item_type
187 ,ci::cuckoo::make_traits<
188 ci::opt::hook< ci::cuckoo::base_hook<
189 ci::cuckoo::probeset_type< item_type::probeset_type >
190 ,ci::cuckoo::store_hash< item_type::hash_array_size >
192 ,co::hash< std::tuple< hash1, hash2 > >
193 ,co::equal_to< equal_to<item_type> >
197 test_cuckoo<set_type>();
200 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_cmp_storehash()
202 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
204 typedef ci::CuckooSet< item_type
205 ,ci::cuckoo::make_traits<
206 ci::opt::hook< ci::cuckoo::base_hook<
207 ci::cuckoo::probeset_type< item_type::probeset_type >
208 ,ci::cuckoo::store_hash< item_type::hash_array_size >
210 ,co::hash< std::tuple< hash1, hash2 > >
211 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
215 test_cuckoo<set_type>();
218 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_cmp_storehash()
220 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > > item_type;
222 typedef ci::CuckooSet< item_type
223 ,ci::cuckoo::make_traits<
224 ci::opt::hook< ci::cuckoo::base_hook<
225 ci::cuckoo::probeset_type< item_type::probeset_type >
226 ,ci::cuckoo::store_hash< item_type::hash_array_size >
228 ,co::hash< std::tuple< hash1, hash2 > >
229 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
233 test_cuckoo<set_type>();
236 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_less_storehash()
238 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
240 typedef ci::CuckooSet< item_type
241 ,ci::cuckoo::make_traits<
242 ci::opt::hook< ci::cuckoo::base_hook<
243 ci::cuckoo::probeset_type< item_type::probeset_type >
244 ,ci::cuckoo::store_hash< item_type::hash_array_size >
246 ,co::hash< std::tuple< hash1, hash2 > >
247 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
251 test_cuckoo<set_type>();
254 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_less_storehash()
256 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > > item_type;
258 typedef ci::CuckooSet< item_type
259 ,ci::cuckoo::make_traits<
260 ci::opt::hook< ci::cuckoo::base_hook<
261 ci::cuckoo::probeset_type< item_type::probeset_type >
262 ,ci::cuckoo::store_hash< item_type::hash_array_size >
264 ,co::hash< std::tuple< hash1, hash2 > >
265 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
269 test_cuckoo<set_type>();
272 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_basehook_sort_cmpmix_storehash()
274 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
276 typedef ci::CuckooSet< item_type
277 ,ci::cuckoo::make_traits<
278 ci::opt::hook< ci::cuckoo::base_hook<
279 ci::cuckoo::probeset_type< item_type::probeset_type >
280 ,ci::cuckoo::store_hash< item_type::hash_array_size >
282 ,co::hash< std::tuple< hash1, hash2 > >
283 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
284 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
288 test_cuckoo<set_type>();
291 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_basehook_sort_cmpmix_storehash()
293 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 2 > > item_type;
295 typedef ci::CuckooSet< item_type
296 ,ci::cuckoo::make_traits<
297 ci::opt::hook< ci::cuckoo::base_hook<
298 ci::cuckoo::probeset_type< item_type::probeset_type >
299 ,ci::cuckoo::store_hash< item_type::hash_array_size >
301 ,co::hash< std::tuple< hash1, hash2 > >
302 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
303 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
307 test_cuckoo<set_type>();
312 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_equal()
314 typedef IntrusiveCuckooSetHdrTest::member_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
315 typedef ci::CuckooSet< item_type
316 ,ci::cuckoo::make_traits<
317 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember)> >
318 ,co::hash< std::tuple< hash1, hash2 > >
319 ,co::equal_to< equal_to<item_type> >
323 test_cuckoo<set_type>();
326 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_equal()
328 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
329 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
331 typedef ci::CuckooSet< item_type
332 ,ci::cuckoo::make_traits<
333 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
334 ci::cuckoo::probeset_type< node_type::probeset_type >
336 ,co::hash< std::tuple< hash1, hash2 > >
337 ,co::equal_to< equal_to<item_type> >
341 test_cuckoo<set_type>();
344 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_cmp()
346 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
347 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
349 typedef ci::CuckooSet< item_type
350 ,ci::cuckoo::make_traits<
351 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
352 ci::cuckoo::probeset_type< node_type::probeset_type >
354 ,co::hash< std::tuple< hash1, hash2 > >
355 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
359 test_cuckoo<set_type>();
362 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_cmp()
364 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
365 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
367 typedef ci::CuckooSet< item_type
368 ,ci::cuckoo::make_traits<
369 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
370 ci::cuckoo::probeset_type< node_type::probeset_type >
372 ,co::hash< std::tuple< hash1, hash2 > >
373 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
377 test_cuckoo<set_type>();
380 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_less()
382 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
383 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
385 typedef ci::CuckooSet< item_type
386 ,ci::cuckoo::make_traits<
387 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
388 ci::cuckoo::probeset_type< node_type::probeset_type >
390 ,co::hash< std::tuple< hash1, hash2 > >
391 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
395 test_cuckoo<set_type>();
398 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_less()
400 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
401 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
403 typedef ci::CuckooSet< item_type
404 ,ci::cuckoo::make_traits<
405 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
406 ci::cuckoo::probeset_type< node_type::probeset_type >
408 ,co::hash< std::tuple< hash1, hash2 > >
409 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
413 test_cuckoo<set_type>();
416 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_cmpmix()
418 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
419 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
421 typedef ci::CuckooSet< item_type
422 ,ci::cuckoo::make_traits<
423 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
424 ci::cuckoo::probeset_type< node_type::probeset_type >
426 ,co::hash< std::tuple< hash1, hash2 > >
427 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
428 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
432 test_cuckoo<set_type>();
435 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_cmpmix()
437 typedef ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > node_type;
438 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
440 typedef ci::CuckooSet< item_type
441 ,ci::cuckoo::make_traits<
442 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
443 ci::cuckoo::probeset_type< node_type::probeset_type >
445 ,co::hash< std::tuple< hash1, hash2 > >
446 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
447 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
451 test_cuckoo<set_type>();
455 // member hook, store hash
456 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_equal_storehash()
458 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
459 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
460 typedef ci::CuckooSet< item_type
461 ,ci::cuckoo::make_traits<
462 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
463 ci::cuckoo::probeset_type< node_type::probeset_type >
464 ,ci::cuckoo::store_hash< node_type::hash_array_size >
466 ,co::hash< std::tuple< hash1, hash2 > >
467 ,co::equal_to< equal_to<item_type> >
471 test_cuckoo<set_type>();
474 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_equal_storehash()
476 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
477 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
479 typedef ci::CuckooSet< item_type
480 ,ci::cuckoo::make_traits<
481 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
482 ci::cuckoo::probeset_type< node_type::probeset_type >
483 ,ci::cuckoo::store_hash< node_type::hash_array_size >
485 ,co::hash< std::tuple< hash1, hash2 > >
486 ,co::equal_to< equal_to<item_type> >
490 test_cuckoo<set_type>();
493 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_cmp_storehash()
495 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
496 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
498 typedef ci::CuckooSet< item_type
499 ,ci::cuckoo::make_traits<
500 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
501 ci::cuckoo::probeset_type< node_type::probeset_type >
502 ,ci::cuckoo::store_hash< node_type::hash_array_size >
504 ,co::hash< std::tuple< hash1, hash2 > >
505 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
509 test_cuckoo<set_type>();
512 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_cmp_storehash()
514 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
515 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
517 typedef ci::CuckooSet< item_type
518 ,ci::cuckoo::make_traits<
519 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
520 ci::cuckoo::probeset_type< node_type::probeset_type >
521 ,ci::cuckoo::store_hash< node_type::hash_array_size >
523 ,co::hash< std::tuple< hash1, hash2 > >
524 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
528 test_cuckoo<set_type>();
531 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_less_storehash()
533 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
534 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
536 typedef ci::CuckooSet< item_type
537 ,ci::cuckoo::make_traits<
538 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
539 ci::cuckoo::probeset_type< node_type::probeset_type >
540 ,ci::cuckoo::store_hash< node_type::hash_array_size >
542 ,co::hash< std::tuple< hash1, hash2 > >
543 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
547 test_cuckoo<set_type>();
550 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_less_storehash()
552 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
553 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
555 typedef ci::CuckooSet< item_type
556 ,ci::cuckoo::make_traits<
557 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
558 ci::cuckoo::probeset_type< node_type::probeset_type >
559 ,ci::cuckoo::store_hash< node_type::hash_array_size >
561 ,co::hash< std::tuple< hash1, hash2 > >
562 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
566 test_cuckoo<set_type>();
569 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_list_memberhook_sort_cmpmix_storehash()
571 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
572 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
574 typedef ci::CuckooSet< item_type
575 ,ci::cuckoo::make_traits<
576 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
577 ci::cuckoo::probeset_type< node_type::probeset_type >
578 ,ci::cuckoo::store_hash< node_type::hash_array_size >
580 ,co::hash< std::tuple< hash1, hash2 > >
581 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
582 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
586 test_cuckoo<set_type>();
589 void IntrusiveCuckooSetHdrTest::Cuckoo_striped_vector_memberhook_sort_cmpmix_storehash()
591 typedef ci::cuckoo::node< ci::cuckoo::vector<8>, 2 > node_type;
592 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
594 typedef ci::CuckooSet< item_type
595 ,ci::cuckoo::make_traits<
596 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
597 ci::cuckoo::probeset_type< node_type::probeset_type >
598 ,ci::cuckoo::store_hash< node_type::hash_array_size >
600 ,co::hash< std::tuple< hash1, hash2 > >
601 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
602 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
606 test_cuckoo<set_type>();
611 CPPUNIT_TEST_SUITE_REGISTRATION(set::IntrusiveCuckooSetHdrTest);