Using condition_variable wait w/ predicate