diff options
Diffstat (limited to 'src/game/shared/threading.hh')
| -rw-r--r-- | src/game/shared/threading.hh | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/game/shared/threading.hh b/src/game/shared/threading.hh deleted file mode 100644 index 02903d5..0000000 --- a/src/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 |
