X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest-hdr%2Fqueue%2Fhdr_segmented_queue.h;h=91ef3013e759aeb890c32617da00bac76416b1ac;hb=e38aa8b1f1c6467817e50d6381e9a00ea03b4d13;hp=acb415c0b306798a60569c839836bad940f5adb1;hpb=7d15399a4d18ae2061ddb01656d85dbc940ff915;p=libcds.git diff --git a/tests/test-hdr/queue/hdr_segmented_queue.h b/tests/test-hdr/queue/hdr_segmented_queue.h index acb415c0..91ef3013 100644 --- a/tests/test-hdr/queue/hdr_segmented_queue.h +++ b/tests/test-hdr/queue/hdr_segmented_queue.h @@ -4,8 +4,7 @@ #define __CDSHDR_QUEUE_SEGMENTED_QUEUE_H #include "cppunit/cppunit_proxy.h" -#include -#include +#include #include "size_check.h" namespace queue { @@ -24,27 +23,6 @@ namespace queue { size_t nVal; }; - struct push_functor { - void operator()( item& dest, other_item const& src ) const - { - dest.nVal = src.nVal; - } - }; - - struct pop_functor { - size_t nCount; - - void operator()( other_item& dest, item const& src ) - { - dest.nVal = src.nVal; - ++nCount; - } - - pop_functor() - : nCount(0) - {} - }; - template void test() { @@ -108,26 +86,25 @@ namespace queue { other_item itm; itm.nVal = i; if ( i & 1 ) { - CPPUNIT_ASSERT( q.push( itm, push_functor() )); + CPPUNIT_ASSERT( q.push_with( [&itm]( item& dest ) { dest.nVal = itm.nVal; } )); } else { - CPPUNIT_ASSERT( q.enqueue( itm, push_functor() )); + CPPUNIT_ASSERT( q.enqueue_with( [&itm]( item& dest ) { dest.nVal = itm.nVal; } )); } CPPUNIT_CHECK( misc::check_size( q, i + 1 )); CPPUNIT_CHECK( !q.empty() ); } { - pop_functor pf; other_item v; nCount = 0; while ( !q.empty() ) { if ( nCount & 1 ) { - CPPUNIT_ASSERT( q.pop( v, cds::ref(pf) )); + CPPUNIT_ASSERT( q.pop_with( [&v, &nCount]( item& src ) {v.nVal = src.nVal; ++nCount; } )); } else { - CPPUNIT_ASSERT( q.dequeue( v, cds::ref(pf) )); + CPPUNIT_ASSERT( q.dequeue_with( [&v, &nCount]( item& src ) {v.nVal = src.nVal; ++nCount; } )); } // It is possible c_nItemCount % quasi_factor() != 0 @@ -146,7 +123,6 @@ namespace queue { } //emplace -# ifdef CDS_EMPLACE_SUPPORT { size_t nMajor = 0; size_t nMinor = 0; @@ -183,7 +159,6 @@ namespace queue { CPPUNIT_CHECK( q.empty() ); CPPUNIT_CHECK( misc::check_size( q, 0 )); } -# endif // pop from empty queue { @@ -219,10 +194,10 @@ namespace queue { void SegmQueue_HP_shuffle(); void SegmQueue_HP_stat(); - void SegmQueue_PTB(); - void SegmQueue_PTB_mutex(); - void SegmQueue_PTB_shuffle(); - void SegmQueue_PTB_stat(); + void SegmQueue_DHP(); + void SegmQueue_DHP_mutex(); + void SegmQueue_DHP_shuffle(); + void SegmQueue_DHP_stat(); CPPUNIT_TEST_SUITE(HdrSegmentedQueue) CPPUNIT_TEST( SegmQueue_HP ) @@ -230,10 +205,10 @@ namespace queue { CPPUNIT_TEST( SegmQueue_HP_shuffle ) CPPUNIT_TEST( SegmQueue_HP_stat ) - CPPUNIT_TEST( SegmQueue_PTB ) - CPPUNIT_TEST( SegmQueue_PTB_mutex ) - CPPUNIT_TEST( SegmQueue_PTB_shuffle ) - CPPUNIT_TEST( SegmQueue_PTB_stat ) + CPPUNIT_TEST( SegmQueue_DHP ) + CPPUNIT_TEST( SegmQueue_DHP_mutex ) + CPPUNIT_TEST( SegmQueue_DHP_shuffle ) + CPPUNIT_TEST( SegmQueue_DHP_stat ) CPPUNIT_TEST_SUITE_END() };