Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
Public Member Functions | List of all members
ThreadManager Class Referencefinal

ThreadManager class. More...

#include <thread_pool.h>

Inheritance diagram for ThreadManager:
EngineManager

Public Member Functions

 ThreadManager (size_t threads)
 
 ~ThreadManager () override
 
template<class F , class... Args>
auto enqueue (F &&f, Args &&... args) -> std::future< decltype(f(args...))>
 
bool initialize () override
 
void update (double delta_time) override
 
void shutdown () override
 
- Public Member Functions inherited from EngineManager
virtual ~EngineManager ()=default
 
const char * get_name () const
 

Additional Inherited Members

- Protected Attributes inherited from EngineManager
const char * name = "EngineSystem"
 

Detailed Description

ThreadManager class.

Note
By default, the number of thread is set to 2

Manages a pool of threads for concurrent task execution.

Version
1.2.0

Constructor & Destructor Documentation

◆ ThreadManager()

ThreadManager::ThreadManager ( size_t  threads)
explicit

◆ ~ThreadManager()

ThreadManager::~ThreadManager ( )
overridedefault

Member Function Documentation

◆ enqueue()

template<class F , class... Args>
auto ThreadManager::enqueue ( F &&  f,
Args &&...  args 
) -> std::future<decltype(f(args...))>

◆ initialize()

bool ThreadManager::initialize ( )
overridevirtual

Implements EngineManager.

◆ shutdown()

void ThreadManager::shutdown ( )
overridevirtual

Implements EngineManager.

◆ update()

void ThreadManager::update ( double  delta_time)
overridevirtual

Implements EngineManager.


The documentation for this class was generated from the following files: