| 8 | |
| 9 | namespace { |
| 10 | static inline bool MyAtomicTryLock(std::atomic<size_t>& a, size_t v) noexcept { |
| 11 | size_t zero = 0; |
| 12 | return a.compare_exchange_strong(zero, v); |
| 13 | } |
| 14 | |
| 15 | static inline bool MyAtomicTryAndTryLock(std::atomic<size_t>& a, size_t v) noexcept { |
| 16 | return a.load(std::memory_order_acquire) == 0 && MyAtomicTryLock(a, v); |
no test coverage detected