Я, вероятно, упускаю что-то очевидное, но я не вижу никакой разницы между std :: condition_variable и std :: condition_variable_any . Зачем нам нужны оба?
std :: condition_variable
std :: condition_variable_any