| 261 | cv.notifyOne(); |
| 262 | } |
| 263 | Lazy<> pop(int& i) { |
| 264 | std::unique_lock lk(mutex); |
| 265 | co_await cv.wait(mutex, [&]() { return !q.empty(); }); |
| 266 | i = q.front(); |
| 267 | q.pop(); |
| 268 | } |
| 269 | std::queue<int> q; |
| 270 | SpinLock mutex; |
| 271 | ConditionVariable<SpinLock> cv; |