diff options
| author | untodesu <kirill@untode.su> | 2025-09-11 13:51:50 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-09-11 13:51:50 +0500 |
| commit | f0cc06c7388acb32b86301965c5b2547e4e3b919 (patch) | |
| tree | d6fc939b1b660562a8abdedb3330ae66defc1bcb /game/shared/threading.hh | |
| parent | aaed751bf4430bf4b9b30cef532b8753b9f639ce (diff) | |
| download | voxelius-f0cc06c7388acb32b86301965c5b2547e4e3b919.tar.bz2 voxelius-f0cc06c7388acb32b86301965c5b2547e4e3b919.zip | |
Displace threading into core (qfortress graft)
Diffstat (limited to 'game/shared/threading.hh')
| -rw-r--r-- | game/shared/threading.hh | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/game/shared/threading.hh b/game/shared/threading.hh deleted file mode 100644 index 02903d5..0000000 --- a/game/shared/threading.hh +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef SHARED_THREADING_HH -#define SHARED_THREADING_HH 1 -#pragma once - -enum class task_status : unsigned int { - ENQUEUED = 0x0000U, - PROCESSING = 0x0001U, - COMPLETED = 0x0002U, - CANCELLED = 0x0004U, -}; - -class Task { -public: - virtual ~Task(void) = default; - virtual void process(void) = 0; - virtual void finalize(void) = 0; - - task_status get_status(void) const; - void set_status(task_status status); - -protected: - std::atomic<task_status> m_status; - std::future<void> m_future; -}; - -namespace threading -{ -void init(void); -void shutdown(void); -void update(void); -} // namespace threading - -namespace threading::detail -{ -void submit_new(Task* task); -} // namespace threading::detail - -namespace threading -{ -template<typename T, typename... AT> -void submit(AT&&... args); -} // namespace threading - -template<typename T, typename... AT> -inline void threading::submit(AT&&... args) -{ - threading::detail::submit_new(new T(args...)); -} - -#endif // SHARED_THREADING_HH |
