I have put together a simple library called TimeQ.
From the README:
TimeQ is a small (81 non-empty, non-comment lines) C++ library that allows
managing of events in a queue (actually, several queues, see below).
It is mainly intended as a tool for the simulation of complex,
but also simple, event-driven systems.
The key concept is that of an Event (files: TimeQ-Event.*) which happens
at a given time. Events are Add()'ed into a Manager object, which keeps
track of all events' *due time*. The Manager knows which event is due first
and processes all Events in order. Event can be added at any time, the only
restriction is that they can't be due in the past.
More details (but not so very much more) at my site:
The library is in ANSI C++ (I believe) but the intallation script is for
unix-like systems. Version is 0.1.1 - ALPHA!
Code is licensed under the GNU General Public License.
Stefano Ghirlanda, Zoologiska Institutionen, Stockholms Universitet
the free science campaign: http://ethology.zool.su.se/freescience