| 352 | } |
| 353 | |
| 354 | void grow() |
| 355 | { |
| 356 | assert(idxRehash >= (m_data.size()/2)); // we should have finished rehashing by the time we need to grow again |
| 357 | |
| 358 | ++bits; |
| 359 | m_data.resize(1ULL << bits); |
| 360 | idxRehash = 0; |
| 361 | RehashStep(); |
| 362 | } |
| 363 | |
| 364 | template<typename T_VISITOR, typename T_MAX> |
| 365 | inline bool enumerate_bucket(setiter &itr, const T_MAX &max, T_VISITOR &fn, long long *pcheckLimit) |