void test_erase() { PtrSet s; typedef typename PtrSet::key_type T; T t; T* t2 = t.clone(); s.insert ( new T ); s.insert ( t2 ); s.insert ( new T ); BOOST_CHECK_EQUAL( s.size(), 3u ); BOOST_CHECK_EQUAL( t, *t2 ); BOOST_CHECK( ! (t < *t2) ); BOOST_CHECK( ! (*t2 < t) ); BOOST_CHECK_EQUAL( t, *t2 ); unsigned n = s.erase( t ); BOOST_CHECK( n > 0 ); }
void test_erase() { PtrSet s; typedef typename PtrSet::key_type T; T t; s.insert ( new T ); T* t2 = t.clone(); s.insert ( t2 ); s.insert ( new T ); BOOST_CHECK_EQUAL( s.size(), 3u ); BOOST_CHECK_EQUAL( hash_value(t), hash_value(*t2) ); BOOST_CHECK_EQUAL( t, *t2 ); typename PtrSet::iterator i = s.find( t ); BOOST_CHECK( i != s.end() ); unsigned n = s.erase( t ); BOOST_CHECK( n > 0 ); }