11#ifndef INCGUARD_MGL_TASK_H_1622688410
12#define INCGUARD_MGL_TASK_H_1622688410
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:73
size_t GetCount() const noexcept
全体のノード数を取得
Definition mgl_task_node_list.cc:252
void NotifyEvent(EventIdentifier eventIdentifier, void *argument) noexcept
タスクへのイベント通知
Definition mgl_task_node_list.cc:346
size_t Kill(ResideLevel resideLevel=ResideLevel::NoResident) noexcept
全てのノードに削除要求を発行する
Definition mgl_task_node_list.cc:216
void GetNodeArray(STL::vector< WeakNode > &weakNodeArray, Identifier identifier) noexcept
ノードの配列を取得
Definition mgl_task_node_list.cc:325
void Execute() noexcept
実行
Definition mgl_task_node_list.cc:134
弱参照タスクノード
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