Esiste una buona coda di timer C ++ multipiattaforma leggera?
Domanda
Quello che sto cercando è una semplice coda di timer possibilmente con una sorgente di temporizzazione esterna e un metodo di polling (in questo modo sarà multipiattaforma). Ogni messaggio accodato potrebbe essere un oggetto che implementa una semplice interfaccia con una funzione membro virtual onTimer ()
.
Soluzione
Boost :: ASIO
contiene un'implementazione del timer asincrona. Potrebbe funzionare per te.
Altri suggerimenti
C'è un bell'articolo in CodeProject, qui , che descrive il vari timer disponibili in Windows e ha capitoli intitolati "Timer coda". e " Crea il tuo timer " ;.
Per l'indipendenza della piattaforma, dovresti implementare le diverse piattaforme all'interno delle coppie #ifdef - #endif
. Non vedo niente di meno brutto di così.
Non soddisfa tutti i tuoi criteri, ma ... Ho scritto una serie di post sul blog su una coda timer per windows che è implementata in termini di un provider di tempo esterno e che è sottoposta a polling o guidata da un thread . La serie viene fornita con codice sorgente e test e il suo scopo era dimostrare il test di codice ragionevolmente complesso. Ad ogni modo, potresti essere in grado di utilizzare parte del codice o delle idee se nessuno trova una soluzione migliore.
Gli articoli iniziano qui: http://www.lenholgate.com/archives/000306.html