Quelques chose du genre
struct Action {
Time executeTime;
std::function<void()> action;
};

std::set<Action> work; // à trier par heure croissante d'éxécution

while(1) { // les...