{
return std::hash<size_t>()( k.nKey );
}
+
template <>
struct hash<map2::key_thread>
{
namespace map2 {
template <typename Map>
- static inline void check_before_clear( Map& s )
+ static inline void check_before_clear( Map& /*s*/ )
{}
template <typename GC, typename Key, typename T, typename Traits>
struct ensure_func
{
template <typename Q>
- void operator()( bool bNew, Q const& )
+ void operator()( bool /*bNew*/, Q const& )
{}
};
public:
for ( size_t k = 0; k < c_nInsThreadCount; ++k ) {
for ( size_t i = 0; i < arrData.size(); ++i ) {
if ( arrData[i] & 1 ) {
- if ( rMap.extract_with( gp, arrData[i], key_less() ))
+ gp = rMap.extract_with( arrData[i], key_less());
+ if ( gp )
++m_nDeleteSuccess;
else
++m_nDeleteFailed;
+ gp.release();
}
}
if ( getTest().m_nInsThreadCount.load( atomics::memory_order_acquire ) == 0 )
for ( size_t k = 0; k < c_nInsThreadCount; ++k ) {
for ( size_t i = arrData.size() - 1; i > 0; --i ) {
if ( arrData[i] & 1 ) {
- if ( rMap.extract_with( gp, arrData[i], key_less() ))
+ gp = rMap.extract_with( arrData[i], key_less());
+ if ( gp )
++m_nDeleteSuccess;
else
++m_nDeleteFailed;
+ gp.release();
}
}
if ( getTest().m_nInsThreadCount.load( atomics::memory_order_acquire ) == 0 )