Source code repo: http://github.com/khizmax/libcds/
Download: http://sourceforge.net/projects/libcds/files/
-
+
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "test_intrusive_set.h"
template <typename Set>
- void test( Set& s )
+ void test( Set& s, std::vector< typename Set::value_type >& data )
{
// Precondition: set is empty
// Postcondition: set is empty
- base_class::test_< Set::c_isSorted>( s );
+ base_class::test_< Set::c_isSorted>( s, data );
- typedef typename Set::value_type value_type;
size_t const nSetSize = base_class::kSize;
- std::vector< value_type > data;
- data.reserve( nSetSize );
- for ( size_t key = 0; key < nSetSize; ++key )
- data.push_back( value_type( static_cast<int>(key) ) );
-
// clear
for ( auto& i : data ) {
i.clear_stat();
- ASSERT_TRUE( s.insert( i ) );
+ ASSERT_TRUE( s.insert( i ));
}
- ASSERT_FALSE( s.empty() );
+ ASSERT_FALSE( s.empty());
ASSERT_CONTAINER_SIZE( s, nSetSize );
s.clear();
- ASSERT_TRUE( s.empty() );
+ ASSERT_TRUE( s.empty());
ASSERT_CONTAINER_SIZE( s, 0 );
for ( auto& i : data ) {
- EXPECT_EQ( i.nDisposeCount, 1 );
+ EXPECT_EQ( i.nDisposeCount, 1u );
}
}
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_unordered )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s( 32, 6, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 6, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
, ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_ordered_less )
,ci::opt::less< less<item_type> >
, ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 4, ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 4, ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_unordered_storehash )
typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::list, 2 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
- typedef ci::cuckoo::base_hook<
+ typedef ci::cuckoo::base_hook<
ci::cuckoo::probeset_type< item_type::probeset_type >
,ci::cuckoo::store_hash< item_type::hash_array_size >
> hook;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_unordered_storehash )
typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
- typedef ci::cuckoo::base_hook<
+ typedef ci::cuckoo::base_hook<
ci::cuckoo::probeset_type< item_type::probeset_type >
,ci::cuckoo::store_hash< item_type::hash_array_size >
> hook;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_basehook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_basehook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
//************************************************************
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_unordered )
typedef base_class::member_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
-
+
typedef ci::cuckoo::member_hook< offsetof( item_type, hMember ), ci::cuckoo::probeset_type< item_type::member_type::probeset_type >> hook;
typedef cds::opt::hash_tuple< hash1, hash2 > hash;
typedef base_class::equal_to<item_type> equal_to;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s( 32, 6, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 6, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
, ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_ordered_less )
,ci::opt::less< less<item_type> >
, ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 4, ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 4, ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_unordered_storehash )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_unordered_storehash )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_list_memberhook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, striped_vector_memberhook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
//************************************************************
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_unordered )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s( 32, 6, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 6, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
, ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 4, ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 4, ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_unordered_storehash )
typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::list, 2 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
- typedef ci::cuckoo::base_hook<
+ typedef ci::cuckoo::base_hook<
ci::cuckoo::probeset_type< item_type::probeset_type >
,ci::cuckoo::store_hash< item_type::hash_array_size >
> hook;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_unordered_storehash )
typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
- typedef ci::cuckoo::base_hook<
+ typedef ci::cuckoo::base_hook<
ci::cuckoo::probeset_type< item_type::probeset_type >
,ci::cuckoo::store_hash< item_type::hash_array_size >
> hook;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_basehook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_basehook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
//************************************************************
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_unordered )
typedef base_class::member_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 >> item_type;
struct set_traits: public ci::cuckoo::traits
{
-
+
typedef ci::cuckoo::member_hook< offsetof( item_type, hMember ), ci::cuckoo::probeset_type< item_type::member_type::probeset_type >> hook;
typedef ci::cuckoo::refinable<> mutex_policy;
typedef cds::opt::hash_tuple< hash1, hash2 > hash;
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s( 32, 6, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 6, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_ordered_cmp )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 4, ht );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 4, ht );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_ordered_less )
,ci::opt::less< less<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_ordered_cmpmix )
,ci::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_ordered_stat )
,ci::opt::stat< ci::cuckoo::stat >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_unordered_storehash )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s;
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s;
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_unordered_storehash )
};
typedef ci::CuckooSet< item_type, set_traits > set_type;
- set_type s( 32, 4 );
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ set_type s( 32, 4 );
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_list_memberhook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( 32, 6, 0, std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( 32, 6, 0, std::move( ht ));
+ test( s, data );
+ }
}
TEST_F( IntrusiveCuckooSet, refinable_vector_memberhook_ordered_storehash )
,cds::opt::compare< cmp<item_type> >
,ci::opt::disposer< mock_disposer >
>::type
- > set_type;
+ > set_type;
- typename set_type::hash_tuple_type ht;
- set_type s( std::move( ht ));
- test( s );
+ std::vector< typename set_type::value_type > data;
+ {
+ typename set_type::hash_tuple_type ht;
+ set_type s( std::move( ht ));
+ test( s, data );
+ }
}
} // namespace