task_pool¶
Include dependency graph for task_pool.h:
This graph shows which files directly or indirectly include task_pool.h:
todo
-
namespace task_pool_util¶
-
template<class Function>
class _Impl : public task_pool_util::_ImplBase¶ Inheritence diagram for task_pool_util::_Impl:
Collaboration diagram for task_pool_util::_Impl:
-
class _ImplBase¶
Inheritence diagram for task_pool_util::_ImplBase:
Subclassed by task_pool_util::_Impl< Function >
-
class TaskPool¶
Inheritence diagram for task_pool_util::TaskPool:
Subclassed by thread_pool_util::ThreadPool
Public Types
-
typedef std::chrono::steady_clock::time_point __time_point¶
Public Functions
-
template<class X, class Y>
inline void delay(task_id_t task_id, std::chrono::duration<X, Y> duration)¶ - Parameters:
task_id – The id of the task to delay.
duration – The delay before executing the task.
-
inline std::optional<__time_point> next()¶
-
inline std::optional<std::pair<__time_point, __task>> pop(task_id_t task_id)¶
-
template<class Function, class X, class Y, class ...Args>
inline auto pushDelayed(Function &&newTask, std::chrono::duration<X, Y> duration, Args&&... args)¶ - Returns:
an id to potentially delay the task.
-
inline void pushDelayed(std::pair<__time_point, __task> &&task)¶
-
inline bool ready()¶
-
TaskPool() = default¶
Protected Attributes
-
std::mutex _task_mutex¶
-
std::vector<std::pair<__time_point, __task>> _timer_tasks¶
Private Functions
-
template<class R>
class timer_task_t¶ Collaboration diagram for task_pool_util::TaskPool::timer_task_t:
-
typedef std::chrono::steady_clock::time_point __time_point¶
-
template<class Function>