11#ifndef INCGUARD_MGL_TASK_H_1622688410
12#define INCGUARD_MGL_TASK_H_1622688410
15#include <mgl/task/mgl_task_default_task_node.h>
21bool Initialize(
size_t capacity,
const InitializeDescriptor &descriptor)
noexcept;
31template <
class TaskClass,
class... Args>
35 if (!nodeList.HasFreeNode())
40 auto index = nodeList.Add(STL::make_unique<TaskClass>(args...));
76template <
typename TaskIDType>
77inline size_t Kill(TaskIDType identifier,
ResideLevel resideLevel = ResideLevel::NoResident)
noexcept
90 return Kill(ResideLevel::Max);
112template <
typename TaskIDType>
113inline size_t GetCount(TaskIDType identifier)
noexcept
126template <
typename TaskIDType>
144template <
typename EventIDType>
145inline void NotifyEvent(EventIDType eventID,
void *argument =
nullptr) noexcept
160template <
typename TaskIDType,
typename EventIDType>
161inline void NotifyEvent(TaskIDType identifier, EventIDType eventID,
void *argument =
nullptr) noexcept
static NodeList & GetInstance() noexcept
Definition mgl_singleton.h:74
void NotifyEvent(EventIdentifier eventIdentifier, void *arg) noexcept
タスクへのイベント通知
Definition mgl_task_node_list.cc:353
size_t Kill(ResideLevel resideLevel=ResideLevel::NoResident) noexcept
全てのノードに削除要求を発行する
Definition mgl_task_node_list.cc:220
size_t GetCount() noexcept
全体のノード数を取得
Definition mgl_task_node_list.cc:258
void GetNodeArray(STL::vector< WeakNode > &weakNodeArray, Identifier identifier) noexcept
ノードの配列を取得
Definition mgl_task_node_list.cc:332
void Execute() noexcept
実行
Definition mgl_task_node_list.cc:137
弱参照タスクノード
Definition mgl_task_weak_node.h:20
bool Initialize(InitializerDelegate &initializer, MakeAppDelegateFunction makeAppDelegate) noexcept
MGL初期化処理
Definition mgl_initialize.cc:67
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51
size_t GetCount() noexcept
現在のタスクの総数を取得
Definition mgl_task.h:99
size_t DestroyThemAll() noexcept
常駐プライオリティを無視して全てのタスクを削除
Definition mgl_task.h:88
size_t Kill(ResideLevel resideLevel=ResideLevel::NoResident) noexcept
全てのタスクに削除要求を発行
Definition mgl_task.h:62
void Execute() noexcept
タスクの実行
Definition mgl_task.h:50
void NotifyEvent(EventIDType eventID, void *argument=nullptr) noexcept
タスクへのイベント通知
Definition mgl_task.h:145
constexpr WeakNode Create(Args... args) noexcept
タスクの生成
Definition mgl_task.h:32
STL::vector< WeakNode > Find(TaskIDType identifier) noexcept
タスクを検索
Definition mgl_task.h:127
ResideLevel
常駐レベル
Definition mgl_task_defs.h:109
uint32_t EventIdentifier
イベントIDを表す型
Definition mgl_task_defs.h:105