| 3352 | }; |
| 3353 | |
| 3354 | inline void populate_initial_implicit_producer_hash() |
| 3355 | { |
| 3356 | MOODYCAMEL_CONSTEXPR_IF (INITIAL_IMPLICIT_PRODUCER_HASH_SIZE == 0) { |
| 3357 | return; |
| 3358 | } |
| 3359 | else { |
| 3360 | implicitProducerHashCount.store(0, std::memory_order_relaxed); |
| 3361 | auto hash = &initialImplicitProducerHash; |
| 3362 | hash->capacity = INITIAL_IMPLICIT_PRODUCER_HASH_SIZE; |
| 3363 | hash->entries = &initialImplicitProducerHashEntries[0]; |
| 3364 | for (size_t i = 0; i != INITIAL_IMPLICIT_PRODUCER_HASH_SIZE; ++i) { |
| 3365 | initialImplicitProducerHashEntries[i].key.store(details::invalid_thread_id, std::memory_order_relaxed); |
| 3366 | } |
| 3367 | hash->prev = nullptr; |
| 3368 | implicitProducerHash.store(hash, std::memory_order_relaxed); |
| 3369 | } |
| 3370 | } |
| 3371 | |
| 3372 | void swap_implicit_producer_hashes(ConcurrentQueue& other) |
no test coverage detected