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;
37 [[nodiscard]]
size_t GetCount()
const noexcept;
38 [[nodiscard]]
size_t GetCount(Identifier identifier)
const noexcept;
68 return _freeTopElement.
next !=
nullptr;
72 [[nodiscard]]
NodeSubList *GetSubList(Identifier identifier)
const 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:43
タスクノード
Definition mgl_task_node.h:20
タスクノードのリスト
Definition mgl_task_node_list.h:24
size_t Add(STL::unique_ptr< Node > addNode) noexcept
ノードの追加
Definition mgl_task_node_list.cc:91
size_t GetCount() const noexcept
全体のノード数を取得
Definition mgl_task_node_list.cc:252
bool Initialize(size_t capacity, const InitializeDescriptor &descriptor) noexcept
初期化処理
Definition mgl_task_node_list.cc:38
void NotifyEvent(EventIdentifier eventIdentifier, void *argument) noexcept
タスクへのイベント通知
Definition mgl_task_node_list.cc:346
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:216
void GetNodeArray(STL::vector< WeakNode > &weakNodeArray, Identifier identifier) noexcept
ノードの配列を取得
Definition mgl_task_node_list.cc:325
const NodeListElement * GetElement(size_t index) const noexcept
リストの要素を取得
Definition mgl_task_node_list.cc:288
void Execute() noexcept
実行
Definition mgl_task_node_list.cc:134
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:256
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