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_refinable_list_basehook_equal()
13 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
14 typedef ci::CuckooSet< item_type
15 ,ci::cuckoo::make_traits<
16 co::hash< std::tuple< hash1, hash2 > >
17 ,co::mutex_policy< ci::cuckoo::refinable<> >
18 ,co::equal_to< equal_to<item_type> >
22 test_cuckoo<set_type>();
25 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_equal()
27 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
29 typedef ci::CuckooSet< item_type
30 ,ci::cuckoo::make_traits<
31 ci::opt::hook< ci::cuckoo::base_hook<
32 ci::cuckoo::probeset_type< item_type::probeset_type >
34 ,co::hash< std::tuple< hash1, hash2 > >
35 ,co::equal_to< equal_to<item_type> >
36 ,co::mutex_policy< ci::cuckoo::refinable<> >
40 test_cuckoo<set_type>();
43 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_cmp()
45 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
47 typedef ci::CuckooSet< item_type
48 ,ci::cuckoo::make_traits<
49 ci::opt::hook< ci::cuckoo::base_hook<
50 ci::cuckoo::probeset_type< item_type::probeset_type >
52 ,co::mutex_policy< ci::cuckoo::refinable<> >
53 ,co::hash< std::tuple< hash1, hash2 > >
54 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
58 test_cuckoo<set_type>();
61 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_cmp()
63 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
65 typedef ci::CuckooSet< item_type
66 ,ci::cuckoo::make_traits<
67 ci::opt::hook< ci::cuckoo::base_hook<
68 ci::cuckoo::probeset_type< item_type::probeset_type >
70 ,co::mutex_policy< ci::cuckoo::refinable<> >
71 ,co::hash< std::tuple< hash1, hash2 > >
72 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
76 test_cuckoo<set_type>();
79 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_less()
81 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
83 typedef ci::CuckooSet< item_type
84 ,ci::cuckoo::make_traits<
85 ci::opt::hook< ci::cuckoo::base_hook<
86 ci::cuckoo::probeset_type< item_type::probeset_type >
88 ,co::mutex_policy< ci::cuckoo::refinable<> >
89 ,co::hash< std::tuple< hash1, hash2 > >
90 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
94 test_cuckoo<set_type>();
97 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_less()
99 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > > item_type;
101 typedef ci::CuckooSet< item_type
102 ,ci::cuckoo::make_traits<
103 ci::opt::hook< ci::cuckoo::base_hook<
104 ci::cuckoo::probeset_type< item_type::probeset_type >
106 ,co::mutex_policy< ci::cuckoo::refinable<> >
107 ,co::hash< std::tuple< hash1, hash2 > >
108 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
112 test_cuckoo<set_type>();
115 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_cmpmix()
117 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
119 typedef ci::CuckooSet< item_type
120 ,ci::cuckoo::make_traits<
121 ci::opt::hook< ci::cuckoo::base_hook<
122 ci::cuckoo::probeset_type< item_type::probeset_type >
124 ,co::mutex_policy< ci::cuckoo::refinable<> >
125 ,co::hash< std::tuple< hash1, hash2 > >
126 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
127 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
131 test_cuckoo<set_type>();
134 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_cmpmix()
136 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > > item_type;
138 typedef ci::CuckooSet< item_type
139 ,ci::cuckoo::make_traits<
140 ci::opt::hook< ci::cuckoo::base_hook<
141 ci::cuckoo::probeset_type< item_type::probeset_type >
143 ,co::mutex_policy< ci::cuckoo::refinable<> >
144 ,co::hash< std::tuple< hash1, hash2 > >
145 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
146 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
150 test_cuckoo<set_type>();
153 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_cmpmix_stat()
155 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > > item_type;
157 typedef ci::CuckooSet< item_type
158 ,ci::cuckoo::make_traits<
159 ci::opt::hook< ci::cuckoo::base_hook<
160 ci::cuckoo::probeset_type< item_type::probeset_type >
162 ,co::mutex_policy< ci::cuckoo::refinable<> >
163 ,co::hash< std::tuple< hash1, hash2 > >
164 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
165 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
166 ,co::stat< ci::cuckoo::stat >
170 unsigned int nProbesetSize = set_type::node_type::probeset_size ? set_type::node_type::probeset_size : 4;
171 set_type s( 256, nProbesetSize, nProbesetSize / 2 );
173 CPPUNIT_MSG( s.statistics() << s.mutex_policy_statistics() );
177 // base hook, store hash
178 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_equal_storehash()
180 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
181 typedef ci::CuckooSet< item_type
182 ,ci::cuckoo::make_traits<
183 ci::opt::hook< ci::cuckoo::base_hook<
184 ci::cuckoo::probeset_type< item_type::probeset_type >
185 ,ci::cuckoo::store_hash< item_type::hash_array_size >
187 ,co::mutex_policy< ci::cuckoo::refinable<> >
188 ,co::hash< std::tuple< hash1, hash2 > >
189 ,co::equal_to< equal_to<item_type> >
193 test_cuckoo<set_type>();
196 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_equal_storehash()
198 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > > item_type;
200 typedef ci::CuckooSet< item_type
201 ,ci::cuckoo::make_traits<
202 ci::opt::hook< ci::cuckoo::base_hook<
203 ci::cuckoo::probeset_type< item_type::probeset_type >
204 ,ci::cuckoo::store_hash< item_type::hash_array_size >
206 ,co::mutex_policy< ci::cuckoo::refinable<> >
207 ,co::hash< std::tuple< hash1, hash2 > >
208 ,co::equal_to< equal_to<item_type> >
212 test_cuckoo<set_type>();
215 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_cmp_storehash()
217 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
219 typedef ci::CuckooSet< item_type
220 ,ci::cuckoo::make_traits<
221 ci::opt::hook< ci::cuckoo::base_hook<
222 ci::cuckoo::probeset_type< item_type::probeset_type >
223 ,ci::cuckoo::store_hash< item_type::hash_array_size >
225 ,co::mutex_policy< ci::cuckoo::refinable<> >
226 ,co::hash< std::tuple< hash1, hash2 > >
227 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
231 test_cuckoo<set_type>();
234 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_cmp_storehash()
236 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > > item_type;
238 typedef ci::CuckooSet< item_type
239 ,ci::cuckoo::make_traits<
240 ci::opt::hook< ci::cuckoo::base_hook<
241 ci::cuckoo::probeset_type< item_type::probeset_type >
242 ,ci::cuckoo::store_hash< item_type::hash_array_size >
244 ,co::mutex_policy< ci::cuckoo::refinable<> >
245 ,co::hash< std::tuple< hash1, hash2 > >
246 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
250 test_cuckoo<set_type>();
253 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_less_storehash()
255 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 2 > > item_type;
257 typedef ci::CuckooSet< item_type
258 ,ci::cuckoo::make_traits<
259 ci::opt::hook< ci::cuckoo::base_hook<
260 ci::cuckoo::probeset_type< item_type::probeset_type >
261 ,ci::cuckoo::store_hash< item_type::hash_array_size >
263 ,co::mutex_policy< ci::cuckoo::refinable<> >
264 ,co::hash< std::tuple< hash1, hash2 > >
265 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
269 test_cuckoo<set_type>();
272 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_less_storehash()
274 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 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::mutex_policy< ci::cuckoo::refinable<> >
283 ,co::hash< std::tuple< hash1, hash2 > >
284 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
288 test_cuckoo<set_type>();
291 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_basehook_sort_cmpmix_storehash()
293 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::list, 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::mutex_policy< ci::cuckoo::refinable<> >
302 ,co::hash< std::tuple< hash1, hash2 > >
303 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
304 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
308 test_cuckoo<set_type>();
311 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_basehook_sort_cmpmix_storehash()
313 typedef IntrusiveCuckooSetHdrTest::base_item< ci::cuckoo::node< ci::cuckoo::vector<8>, 2 > > item_type;
315 typedef ci::CuckooSet< item_type
316 ,ci::cuckoo::make_traits<
317 ci::opt::hook< ci::cuckoo::base_hook<
318 ci::cuckoo::probeset_type< item_type::probeset_type >
319 ,ci::cuckoo::store_hash< item_type::hash_array_size >
321 ,co::mutex_policy< ci::cuckoo::refinable<> >
322 ,co::hash< std::tuple< hash1, hash2 > >
323 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
324 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
328 test_cuckoo<set_type>();
333 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_equal()
335 typedef IntrusiveCuckooSetHdrTest::member_item< ci::cuckoo::node< ci::cuckoo::list, 0 > > item_type;
336 typedef ci::CuckooSet< item_type
337 ,ci::cuckoo::make_traits<
338 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember)> >
339 ,co::mutex_policy< ci::cuckoo::refinable<> >
340 ,co::hash< std::tuple< hash1, hash2 > >
341 ,co::equal_to< equal_to<item_type> >
345 test_cuckoo<set_type>();
348 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_equal()
350 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
351 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
353 typedef ci::CuckooSet< item_type
354 ,ci::cuckoo::make_traits<
355 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
356 ci::cuckoo::probeset_type< node_type::probeset_type >
358 ,co::mutex_policy< ci::cuckoo::refinable<> >
359 ,co::hash< std::tuple< hash1, hash2 > >
360 ,co::equal_to< equal_to<item_type> >
364 test_cuckoo<set_type>();
367 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_cmp()
369 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
370 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
372 typedef ci::CuckooSet< item_type
373 ,ci::cuckoo::make_traits<
374 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
375 ci::cuckoo::probeset_type< node_type::probeset_type >
377 ,co::mutex_policy< ci::cuckoo::refinable<> >
378 ,co::hash< std::tuple< hash1, hash2 > >
379 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
383 test_cuckoo<set_type>();
386 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_cmp()
388 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
389 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
391 typedef ci::CuckooSet< item_type
392 ,ci::cuckoo::make_traits<
393 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
394 ci::cuckoo::probeset_type< node_type::probeset_type >
396 ,co::mutex_policy< ci::cuckoo::refinable<> >
397 ,co::hash< std::tuple< hash1, hash2 > >
398 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
402 test_cuckoo<set_type>();
405 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_less()
407 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
408 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
410 typedef ci::CuckooSet< item_type
411 ,ci::cuckoo::make_traits<
412 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
413 ci::cuckoo::probeset_type< node_type::probeset_type >
415 ,co::mutex_policy< ci::cuckoo::refinable<> >
416 ,co::hash< std::tuple< hash1, hash2 > >
417 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
421 test_cuckoo<set_type>();
424 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_less()
426 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 0 > node_type;
427 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
429 typedef ci::CuckooSet< item_type
430 ,ci::cuckoo::make_traits<
431 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
432 ci::cuckoo::probeset_type< node_type::probeset_type >
434 ,co::mutex_policy< ci::cuckoo::refinable<> >
435 ,co::hash< std::tuple< hash1, hash2 > >
436 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
440 test_cuckoo<set_type>();
443 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_cmpmix()
445 typedef ci::cuckoo::node< ci::cuckoo::list, 0 > node_type;
446 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
448 typedef ci::CuckooSet< item_type
449 ,ci::cuckoo::make_traits<
450 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
451 ci::cuckoo::probeset_type< node_type::probeset_type >
453 ,co::mutex_policy< ci::cuckoo::refinable<> >
454 ,co::hash< std::tuple< hash1, hash2 > >
455 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
456 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
460 test_cuckoo<set_type>();
463 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_cmpmix()
465 typedef ci::cuckoo::node< ci::cuckoo::vector<8>, 0 > node_type;
466 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
468 typedef ci::CuckooSet< item_type
469 ,ci::cuckoo::make_traits<
470 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
471 ci::cuckoo::probeset_type< node_type::probeset_type >
473 ,co::mutex_policy< ci::cuckoo::refinable<> >
474 ,co::hash< std::tuple< hash1, hash2 > >
475 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
476 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
480 test_cuckoo<set_type>();
484 // member hook, store hash
485 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_equal_storehash()
487 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
488 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
489 typedef ci::CuckooSet< item_type
490 ,ci::cuckoo::make_traits<
491 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
492 ci::cuckoo::probeset_type< node_type::probeset_type >
493 ,ci::cuckoo::store_hash< node_type::hash_array_size >
495 ,co::mutex_policy< ci::cuckoo::refinable<> >
496 ,co::hash< std::tuple< hash1, hash2 > >
497 ,co::equal_to< equal_to<item_type> >
501 test_cuckoo<set_type>();
504 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_equal_storehash()
506 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
507 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
509 typedef ci::CuckooSet< item_type
510 ,ci::cuckoo::make_traits<
511 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
512 ci::cuckoo::probeset_type< node_type::probeset_type >
513 ,ci::cuckoo::store_hash< node_type::hash_array_size >
515 ,co::mutex_policy< ci::cuckoo::refinable<> >
516 ,co::hash< std::tuple< hash1, hash2 > >
517 ,co::equal_to< equal_to<item_type> >
521 test_cuckoo<set_type>();
524 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_cmp_storehash()
526 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
527 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
529 typedef ci::CuckooSet< item_type
530 ,ci::cuckoo::make_traits<
531 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
532 ci::cuckoo::probeset_type< node_type::probeset_type >
533 ,ci::cuckoo::store_hash< node_type::hash_array_size >
535 ,co::mutex_policy< ci::cuckoo::refinable<> >
536 ,co::hash< std::tuple< hash1, hash2 > >
537 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
541 test_cuckoo<set_type>();
544 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_cmp_storehash()
546 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
547 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
549 typedef ci::CuckooSet< item_type
550 ,ci::cuckoo::make_traits<
551 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
552 ci::cuckoo::probeset_type< node_type::probeset_type >
553 ,ci::cuckoo::store_hash< node_type::hash_array_size >
555 ,co::mutex_policy< ci::cuckoo::refinable<> >
556 ,co::hash< std::tuple< hash1, hash2 > >
557 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
561 test_cuckoo<set_type>();
564 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_less_storehash()
566 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
567 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
569 typedef ci::CuckooSet< item_type
570 ,ci::cuckoo::make_traits<
571 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
572 ci::cuckoo::probeset_type< node_type::probeset_type >
573 ,ci::cuckoo::store_hash< node_type::hash_array_size >
575 ,co::mutex_policy< ci::cuckoo::refinable<> >
576 ,co::hash< std::tuple< hash1, hash2 > >
577 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
581 test_cuckoo<set_type>();
584 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_less_storehash()
586 typedef ci::cuckoo::node< ci::cuckoo::vector<4>, 2 > node_type;
587 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
589 typedef ci::CuckooSet< item_type
590 ,ci::cuckoo::make_traits<
591 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
592 ci::cuckoo::probeset_type< node_type::probeset_type >
593 ,ci::cuckoo::store_hash< node_type::hash_array_size >
595 ,co::mutex_policy< ci::cuckoo::refinable<> >
596 ,co::hash< std::tuple< hash1, hash2 > >
597 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
601 test_cuckoo<set_type>();
604 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_list_memberhook_sort_cmpmix_storehash()
606 typedef ci::cuckoo::node< ci::cuckoo::list, 2 > node_type;
607 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
609 typedef ci::CuckooSet< item_type
610 ,ci::cuckoo::make_traits<
611 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
612 ci::cuckoo::probeset_type< node_type::probeset_type >
613 ,ci::cuckoo::store_hash< node_type::hash_array_size >
615 ,co::mutex_policy< ci::cuckoo::refinable<> >
616 ,co::hash< std::tuple< hash1, hash2 > >
617 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
618 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
622 test_cuckoo<set_type>();
625 void IntrusiveCuckooSetHdrTest::Cuckoo_refinable_vector_memberhook_sort_cmpmix_storehash()
627 typedef ci::cuckoo::node< ci::cuckoo::vector<8>, 2 > node_type;
628 typedef IntrusiveCuckooSetHdrTest::member_item< node_type > item_type;
630 typedef ci::CuckooSet< item_type
631 ,ci::cuckoo::make_traits<
632 ci::opt::hook< ci::cuckoo::member_hook< offsetof(item_type, hMember),
633 ci::cuckoo::probeset_type< node_type::probeset_type >
634 ,ci::cuckoo::store_hash< node_type::hash_array_size >
636 ,co::mutex_policy< ci::cuckoo::refinable<> >
637 ,co::hash< std::tuple< hash1, hash2 > >
638 ,co::less< IntrusiveCuckooSetHdrTest::less<item_type> >
639 ,co::compare< IntrusiveCuckooSetHdrTest::cmp<item_type> >
643 test_cuckoo<set_type>();