Stands for simple event queue cpp, and it aims to create a simple self contain extendable event queue to allow synchronization of events (messages) in a thread-safe concurrent queue
mkdir build && cd build
cmake ..
cmake --build . -j$(nproc)mkdir build && cd build
cmake ..
cmake --build . --target ut_EventQueue -j $(nproc)cd build/test/unit
ctest --output-on-failure auto queue {EventQueue()};
auto const eventMessage{EventMessage([](){/** Runnable event here **/});
queue.run();
queue.push_event(eventMessage);
// to quit
queue.push_event(QuitEvent([](){/** Runnable quit event here **/}));
// garantee queue thread concludes, should not be needed as thread execution is tied to the queue life cycle scope
queue.await_completion() class MyCustomEvenMessage : EventMessage {
// your custom implementation here
}
auto queue {EventQueue()};
auto const eventMessage{MyCustomEvenMessage([](){/** Runnable event here **/});
queue.run();
queue.push_event(eventMessage);
// to quit
queue.push_event(QuitEvent([](){/** Runnable quit event here **/}));
// garantee queue thread concludes, should not be needed as thread execution is tied to the queue life cycle scope
queue.await_completion()