5#include <Utility/Concurrent/TAtomicQuasiQueue.h>
6#include <Utility/TFunction.h>
39 void updateMainThreadEvents();
40 void updateAnyThreadEvents();
42 std::vector<EventUpdateWork> m_mainThreadWorks;
43 TAtomicQuasiQueue<EventUpdateWork> m_anyThreadWorks;
50 m_mainThreadWorks.push_back(std::move(work));
54 m_anyThreadWorks.enqueue(std::move(work));
Definition EditorEventQueue.h:16
TFunction< void(void)> EventUpdateWork
Definition EditorEventQueue.h:21
void flushAllEvents()
Dequeue and execute added works. There is a limit on the max number of concurrently added (any thread...
Definition EditorEventQueue.cpp:17
static constexpr std::size_t maxAnyThreadWorksPerUpdate
Definition EditorEventQueue.h:19
EditorEventQueue()
Definition EditorEventQueue.cpp:10
void add(EventUpdateWork work)
Definition EditorEventQueue.h:46
static bool isOnMainThread()
Whether current thread is the thread that called main().
Definition Threads.h:47
Definition ph_editor.h:10