auto& i = data[ idx ];
ASSERT_TRUE( s.contains( i.nKey ) );
- EXPECT_EQ( i.nFindCount, 0 );
+ EXPECT_EQ( i.nFindCount, 0u );
ASSERT_TRUE( s.find( i.nKey, []( value_type& v ) { ++v.nFindCount; } ) );
EXPECT_EQ( i.nFindCount, 1u );
ASSERT_TRUE( s.contains( i.nKey ) );
ASSERT_TRUE( s.contains( i ) );
ASSERT_TRUE( s.contains( other_item( i.key() ), other_less()));
- EXPECT_EQ( i.nFindCount, 0 );
+ EXPECT_EQ( i.nFindCount, 0u );
ASSERT_TRUE( s.find( i.nKey, []( value_type& v, int ) { ++v.nFindCount; } ));
- EXPECT_EQ( i.nFindCount, 1 );
+ EXPECT_EQ( i.nFindCount, 1u );
ASSERT_TRUE( s.find_with( other_item( i.key() ), other_less(), []( value_type& v, other_item const& ) { ++v.nFindCount; } ));
- EXPECT_EQ( i.nFindCount, 2 );
+ EXPECT_EQ( i.nFindCount, 2u );
ASSERT_TRUE( s.find( i.nKey ) != s.end() );
ASSERT_TRUE( s.find_with( other_item( i.key() ), other_less() ) != s.end() );
EXPECT_EQ( s.find( i.nKey )->nKey, i.key() );
ASSERT_TRUE( s.contains( i.nKey ) );
ASSERT_TRUE( s.contains( i ) );
ASSERT_TRUE( s.contains( other_item( i.key() ), other_less() ) );
- EXPECT_EQ( i.nFindCount, 0 );
+ EXPECT_EQ( i.nFindCount, 0u );
ASSERT_TRUE( s.find( i.nKey, []( value_type& v, int ) { ++v.nFindCount; } ) );
- EXPECT_EQ( i.nFindCount, 1 );
+ EXPECT_EQ( i.nFindCount, 1u );
ASSERT_TRUE( s.find_with( other_item( i.key() ), other_less(), []( value_type& v, other_item const& ) { ++v.nFindCount; } ) );
- EXPECT_EQ( i.nFindCount, 2 );
+ EXPECT_EQ( i.nFindCount, 2u );
ASSERT_TRUE( s.find( i.nKey ) != s.end() );
ASSERT_TRUE( s.find_with( other_item( i.key() ), other_less()) != s.end() );
EXPECT_EQ( s.find( i.nKey )->nKey, i.key() );
ASSERT_TRUE( s.find_with( other_item( i.key() ), other_less() ) == s.end() );
}
ASSERT_TRUE( s.empty() );
- ASSERT_CONTAINER_SIZE( s, 0 );
+ ASSERT_CONTAINER_SIZE( s, 0u );
// Force retiring cycle
Set::gc::force_dispose();
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.
*/
#ifndef CDSUNIT_SET_TEST_INTRUSIVE_SET_HP_H
for ( auto idx : indices ) {
auto& i = data[idx];
- EXPECT_EQ( i.nFindCount, 0 );
+ EXPECT_EQ( i.nFindCount, 0u );
gp = s.get( i );
ASSERT_FALSE( !gp );
++gp->nFindCount;
- EXPECT_EQ( i.nFindCount, 1 );
+ EXPECT_EQ( i.nFindCount, 1u );
gp = s.get( i.key() );
ASSERT_FALSE( !gp );
++gp->nFindCount;
- EXPECT_EQ( i.nFindCount, 2 );
+ EXPECT_EQ( i.nFindCount, 2u );
gp = s.get_with( other_item( i.key()), other_less());
ASSERT_FALSE( !gp );
++gp->nFindCount;
- EXPECT_EQ( i.nFindCount, 3 );
+ EXPECT_EQ( i.nFindCount, 3u );
- EXPECT_EQ( i.nEraseCount, 0 );
+ EXPECT_EQ( i.nEraseCount, 0u );
switch ( i.key() % 3 ) {
case 0:
gp = s.extract( i.key());
}
ASSERT_FALSE( !gp );
++gp->nEraseCount;
- EXPECT_EQ( i.nEraseCount, 1 );
+ EXPECT_EQ( i.nEraseCount, 1u );
gp = s.extract( i );
ASSERT_TRUE( !gp );
gp.release();
ASSERT_TRUE( s.empty() );
- ASSERT_CONTAINER_SIZE( s, 0 );
+ ASSERT_CONTAINER_SIZE( s, 0u );
// Force retiring cycle
Set::gc::force_dispose();
for ( auto& i : data ) {
- EXPECT_EQ( i.nDisposeCount, 1 );
+ EXPECT_EQ( i.nDisposeCount, 1u );
}
}
EXPECT_EQ( a.fetch_and( (integral_type) ~mask, order ), prev );
prev = a.load( oLoad );
- EXPECT_EQ( ( prev & mask), 0);
+ EXPECT_EQ( ( prev & mask), integral_type( 0 ));
EXPECT_EQ( a.fetch_xor( mask, order ), prev );
prev = a.load( oLoad );
EXPECT_TRUE( atomics::atomic_is_lock_free( &a ) );
atomics::atomic_store_explicit( &a, (integral_type) 0, oStore );
- EXPECT_EQ( a, 0 );
+ EXPECT_EQ( a, integral_type( 0 ));
EXPECT_EQ( atomics::atomic_load_explicit( &a, oLoad ), (integral_type) 0 );
for ( size_t nByte = 0; nByte < sizeof(Integral); ++nByte ) {
EXPECT_EQ( atomics::atomic_fetch_and_explicit( &a, (integral_type) ~mask, order ), prev );
prev = atomics::atomic_load_explicit( &a, oLoad );
- EXPECT_EQ( ( prev & mask), 0);
+ EXPECT_EQ( ( prev & mask), integral_type( 0 ));
EXPECT_EQ( atomics::atomic_fetch_xor_explicit( &a, mask, order ), prev );
prev = atomics::atomic_load_explicit( &a, oLoad );
ASSERT_EQ( res, src );
ASSERT_TRUE( splitter.eos() );
ASSERT_TRUE( !splitter );
- EXPECT_EQ(splitter.safe_cut(sizeof(src) * 8), 0 );
+ EXPECT_EQ(splitter.safe_cut(sizeof(src) * 8), 0u );
ASSERT_TRUE( splitter.eos() );
ASSERT_TRUE( !splitter );
splitter.reset();
EXPECT_EQ( res, src );
ASSERT_TRUE( splitter.eos() );
ASSERT_TRUE( !splitter );
- EXPECT_EQ(splitter.safe_cut(sizeof(src) * 8), 0 );
+ EXPECT_EQ(splitter.safe_cut(sizeof(src) * 8), 0u );
ASSERT_TRUE( splitter.eos() );
ASSERT_TRUE( !splitter );
ASSERT_TRUE( pq.empty() );
ASSERT_FALSE( pq.full() );
ASSERT_EQ( pq.size(), 0u );
- ASSERT_EQ( pq.capacity(), base_class::c_nCapacity - 1 );
+ ASSERT_EQ( pq.capacity(), static_cast<size_t>( base_class::c_nCapacity - 1 ));
size_t nSize = 0;
// pop from empty queue
it = nSize * 2;
ASSERT_FALSE( q.pop( it ));
- ASSERT_EQ( it, nSize * 2 );
+ ASSERT_EQ( it, static_cast<value_type>( nSize * 2 ));
ASSERT_TRUE( q.empty() );
ASSERT_EQ( q.size(), 0u );
ASSERT_FALSE( q.dequeue( it ) );
- ASSERT_EQ( it, nSize * 2 );
+ ASSERT_EQ( it, static_cast<value_type>( nSize * 2 ));
ASSERT_TRUE( q.empty() );
ASSERT_EQ( q.size(), 0u );
}
arr[i].nVal = static_cast<int>(i);
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
// pop from empty queue
pv = q.pop();
ASSERT_TRUE( pv == nullptr );
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
pv = q.dequeue();
ASSERT_TRUE( pv == nullptr );
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
// push/pop test
for ( size_t i = 0; i < nSize; ++i ) {
ASSERT_EQ( pv->nVal, static_cast<int>(i) );
}
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
// pop() doesn't call disposer
for ( size_t i = 0; i < nSize; ++i ) {
- ASSERT_EQ( arr[i].nDisposeCount, 0 );
+ ASSERT_EQ( arr[i].nDisposeCount, 0u );
}
// clear with disposer
q.clear( true );
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
for ( size_t i = 0; i < nSize; ++i ) {
- ASSERT_EQ( arr[i].nDisposeCount, 1 );
+ ASSERT_EQ( arr[i].nDisposeCount, 1u );
}
// clear without disposer
q.clear();
ASSERT_TRUE( q.empty() );
- ASSERT_EQ( q.size(), 0 );
+ ASSERT_EQ( q.size(), 0u );
for ( size_t i = 0; i < nSize; ++i ) {
- ASSERT_EQ( arr[i].nDisposeCount, 1 );
+ ASSERT_EQ( arr[i].nDisposeCount, 1u );
}
}
};
for ( size_t i = 0; i < nSize; ++i ) {
it = -1;
ASSERT_TRUE( q.pop( it ) );
- ASSERT_EQ( it, i );
+ ASSERT_EQ( it, static_cast<value_type>( i ));
ASSERT_CONTAINER_SIZE( q, nSize - i - 1 );
}
ASSERT_TRUE( q.empty() );
val[i].nValue = static_cast<int>( i );
ASSERT_TRUE( q.empty());
- ASSERT_CONTAINER_SIZE( q, 0 );
+ ASSERT_CONTAINER_SIZE( q, 0u );
// push/enqueue
for ( size_t i = 0; i < val.size(); ++i ) {
}
EXPECT_EQ( nCount, val.size());
EXPECT_TRUE( q.empty() );
- EXPECT_CONTAINER_SIZE( q, 0 );
+ EXPECT_CONTAINER_SIZE( q, 0u );
// pop from empty queue
ASSERT_TRUE( q.pop() == nullptr );
EXPECT_TRUE( q.empty() );
- EXPECT_CONTAINER_SIZE( q, 0 );
+ EXPECT_CONTAINER_SIZE( q, 0u );
// check that Disposer has not been called
Queue::gc::force_dispose();
for ( size_t i = 0; i < val.size(); ++i ) {
- EXPECT_EQ( val[i].nDisposeCount, 0 );
- EXPECT_EQ( val[i].nDispose2Count, 0 );
+ EXPECT_EQ( val[i].nDisposeCount, 0u );
+ EXPECT_EQ( val[i].nDispose2Count, 0u );
}
// clear
EXPECT_TRUE( !q.empty() );
q.clear();
- EXPECT_CONTAINER_SIZE( q, 0 );
+ EXPECT_CONTAINER_SIZE( q, 0u );
EXPECT_TRUE( q.empty() );
// check if Disposer has been called
Queue::gc::force_dispose();
for ( size_t i = 0; i < val.size(); ++i ) {
- EXPECT_EQ( val[i].nDisposeCount, 1 );
- EXPECT_EQ( val[i].nDispose2Count, 0 );
+ EXPECT_EQ( val[i].nDisposeCount, 1u );
+ EXPECT_EQ( val[i].nDispose2Count, 0u );
}
// clear_with
EXPECT_TRUE( !q.empty() );
q.clear_with( Disposer2() );
- EXPECT_CONTAINER_SIZE( q, 0 );
+ EXPECT_CONTAINER_SIZE( q, 0u );
EXPECT_TRUE( q.empty() );
// check if Disposer has been called
Queue::gc::force_dispose();
for ( size_t i = 0; i < val.size(); ++i ) {
- EXPECT_EQ( val[i].nDisposeCount, 1 );
- EXPECT_EQ( val[i].nDispose2Count, 1 );
+ EXPECT_EQ( val[i].nDisposeCount, 1u );
+ EXPECT_EQ( val[i].nDispose2Count, 1u );
}
// check clear on destruct
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:
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.
*/
#ifndef CDSUNIT_SET_TEST_SET_HP_H
}
for ( auto it = s.cbegin(); it != s.cend(); ++it ) {
- EXPECT_EQ( it->nFindCount, it->key() * 3 );
+ EXPECT_EQ( it->nFindCount, static_cast<size_t>( it->key() * 3 ));
}
typedef typename Set::guarded_ptr guarded_ptr;
ASSERT_EQ( stack.size(), 3u );
ASSERT_TRUE( stack.pop( v ) );
- EXPECT_EQ( v, 3 );
+ EXPECT_EQ( v, value_type( 3 ));
ASSERT_TRUE( !stack.empty() );
ASSERT_EQ( stack.size(), 2u );
ASSERT_TRUE( stack.pop( v ) );
- EXPECT_EQ( v, 2 );
+ EXPECT_EQ( v, value_type( 2 ));
ASSERT_TRUE( !stack.empty() );
ASSERT_EQ( stack.size(), 1u );
ASSERT_TRUE( stack.pop( v ) );
- EXPECT_EQ( v, 1 );
+ EXPECT_EQ( v, value_type( 1 ));
ASSERT_TRUE( stack.empty() );
ASSERT_EQ( stack.size(), 0u );
v = 1000;
ASSERT_TRUE( !stack.pop( v ) );
- EXPECT_EQ( v, 1000 );
+ EXPECT_EQ( v, value_type( 1000 ));
ASSERT_TRUE( stack.empty() );
ASSERT_EQ( stack.size(), 0u );