When trying to understand the full meaning of condition variable wait_for:
bool wait_for (unique_lock<mutex>& lck, const chrono::duration<Rep,Period>& rel_time, Predicate pred);
It is explained in a few places as equivalent to wait_until with the following format:
wait_until (lck, chrono::steady_clock::now() + rel_time, std::move(pred));
instead of "pred" they put there "std::move(pred)", I was wondering how does this move changes the predicate or its evaluation and what is the difference between "pred" and "move::pred"
Thanks Shuki.