1. какой заголовок? у олимпиадников нет ничего кроме стдлибы 2. по-моему таки проще operator new переопределить, чем всюду следить что ты не забыл передать кастомный аллокатор
Ну я вот недавно прям делал как bucket queue. Максимальный тайм-аут ограничен, плюс надо было ещё по ключу удалять. Массив intrusive list + intrusive hash, всё за O(1).
у меня такой вопрос, есть корутина, её код может исполнятся на разных потоках, т.е. после co_await корутина может быть возобновлена на другом потоке, нужен ли какой-либо барьер памяти перед возобновлением корутины?
Скорее всего добавление в очередь тред пула обеспечит синхронизацию. А так кажется что достаточно не создавать гонок между suspend и resume. Релевантным пунктом стандарта будет coroutine.handle.resumption.