11#ifndef INCGUARD_MGL_TASK_NODE_LIST_H_1622534767
12#define INCGUARD_MGL_TASK_NODE_LIST_H_1622534767
34 size_t Kill(
ResideLevel resideLevel = ResideLevel::NoResident)
noexcept;
35 size_t Kill(Identifier identifier,
ResideLevel resideLevel = ResideLevel::NoResident)
noexcept;
38 size_t GetCount(Identifier identifier)
noexcept;
68 return _freeTopElement.
next !=
nullptr;
72 NodeSubList *GetSubList(Identifier identifier)
noexcept;
73 NodeSubList *CreateSubList(Identifier identifier)
noexcept;
77 NodeListElement _freeTopElement;
82 UniqueIdentifier _currentUniqueId{UniqueIdentifier::Start};
84 StageSettingsArray _stageSettingsArray;
86 ThreadPool _threadPool;
シングルトンテンプレート(共有ライブラリ用)
Definition mgl_singleton.h:44
タスクノード
Definition mgl_task_node.h:20
タスクノードのリスト
Definition mgl_task_node_list.h:24
void NotifyEvent(EventIdentifier eventIdentifier, void *arg) noexcept
タスクへのイベント通知
Definition mgl_task_node_list.cc:353
bool Initialize(size_t capacity, const InitializeDescriptor &descriptor) noexcept
初期化処理
Definition mgl_task_node_list.cc:39
static STL::unique_ptr< NodeList > & GetInstanceRef() noexcept
インスタンスの取得
Definition mgl_task_node_list.cc:23
constexpr size_t GetCapacity() const noexcept
追加可能なノードの数を取得
Definition mgl_task_node_list.h:54
size_t Kill(ResideLevel resideLevel=ResideLevel::NoResident) noexcept
全てのノードに削除要求を発行する
Definition mgl_task_node_list.cc:220
size_t Add(STL::unique_ptr< Node > node) noexcept
ノードの追加
Definition mgl_task_node_list.cc:93
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
const NodeListElement * GetElement(size_t index) const noexcept
リストの要素を取得
Definition mgl_task_node_list.cc:295
void Execute() noexcept
実行
Definition mgl_task_node_list.cc:137
constexpr bool HasFreeNode() const noexcept
空きノードがあるかをチェック
Definition mgl_task_node_list.h:66
タスクリストのサブリスト
Definition mgl_task_node_sublist.h:24
std::list< T, Allocator< T > > list
std::listの代替
Definition mgl_stl_containers.h:47
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247
ResideLevel
常駐レベル
Definition mgl_task_defs.h:109
uint32_t EventIdentifier
イベントIDを表す型
Definition mgl_task_defs.h:105
初期化記述子
Definition mgl_task_defs.h:99
ノードの要素
Definition mgl_task_node_list_element.h:19
NodeListElement * next
次のノード
Definition mgl_task_node_list_element.h:21