MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_task.h ファイル

MGL タスクシステム [詳解]

#include <mgl/mgl_environment.h>
#include <mgl/task/mgl_task_default_task_node.h>
#include <mgl/task/mgl_task_node_list.h>
#include <mgl/task/mgl_task_weak_node.h>

[ソースコード]

関数

bool MGL::Task::Initialize (size_t capacity, const InitializeDescriptor &descriptor) noexcept
 タスクシステムの初期化
 
template<class TaskClass , class... Args>
constexpr WeakNode MGL::Task::Create (Args... args) noexcept
 タスクの生成
 
void MGL::Task::Execute () noexcept
 タスクの実行
 
size_t MGL::Task::Kill (ResideLevel resideLevel=ResideLevel::NoResident) noexcept
 全てのタスクに削除要求を発行
 
template<typename TaskIDType >
size_t MGL::Task::Kill (TaskIDType identifier, ResideLevel resideLevel=ResideLevel::NoResident) noexcept
 指定したIDに対して削除要求を発行
 
size_t MGL::Task::DestroyThemAll () noexcept
 常駐プライオリティを無視して全てのタスクを削除
 
size_t MGL::Task::GetCount () noexcept
 現在のタスクの総数を取得
 
template<typename TaskIDType >
size_t MGL::Task::GetCount (TaskIDType identifier) noexcept
 指定したIDのタスクの数を取得
 
template<typename TaskIDType >
STL::vector< WeakNodeMGL::Task::Find (TaskIDType identifier) noexcept
 タスクを検索
 
template<typename EventIDType >
void MGL::Task::NotifyEvent (EventIDType eventID, void *argument=nullptr) noexcept
 タスクへのイベント通知
 
template<typename TaskIDType , typename EventIDType >
void MGL::Task::NotifyEvent (TaskIDType identifier, EventIDType eventID, void *argument=nullptr) noexcept
 タスクへのイベント通知
 

詳解

MGL タスクシステム

日付
Since: June 3, 2021. 11:46:50 JST.
著者
Acerola

関数詳解

◆ Create()

template<class TaskClass , class... Args>
WeakNode MGL::Task::Create ( Args... args)
constexprnoexcept

タスクの生成

テンプレート引数
TaskClass生成するタスクのクラス
引数
[in]argsコンストラクタに与える引数
戻り値
生成されたタスクの弱参照ノード.失敗している場合は無効な弱参照ノード

◆ DestroyThemAll()

size_t MGL::Task::DestroyThemAll ( )
inlinenoexcept

常駐プライオリティを無視して全てのタスクを削除

戻り値
削除要求を発行した数

◆ Find()

template<typename TaskIDType >
STL::vector< WeakNode > MGL::Task::Find ( TaskIDType identifier)
noexcept

タスクを検索

テンプレート引数
TaskIDTypeタスクの種類を表す型
引数
[in]identifier検索するID
戻り値
見つかったタスクの弱参照ノードの配列

◆ GetCount() [1/2]

size_t MGL::Task::GetCount ( )
inlinenoexcept

現在のタスクの総数を取得

戻り値
現在のタスクの総数

◆ GetCount() [2/2]

template<typename TaskIDType >
size_t MGL::Task::GetCount ( TaskIDType identifier)
inlinenoexcept

指定したIDのタスクの数を取得

テンプレート引数
TaskIDTypeタスクの種類を表す型
引数
[in]identifier数を取得するタスクの識別子
戻り値
指定したIDのタスクの数

◆ Initialize()

bool MGL::Task::Initialize ( size_t capacity,
const InitializeDescriptor & descriptor )
noexcept

タスクシステムの初期化

引数
[in]capacityタスクの最大数
[in]descriptor初期化用記述子
戻り値
true成功
false失敗

◆ Kill() [1/2]

size_t MGL::Task::Kill ( ResideLevel resideLevel = ResideLevel::NoResident)
inlinenoexcept

全てのタスクに削除要求を発行

引数
[in]resideLevel常駐レベルがこの値以下のタスクを削除する
戻り値
削除要求を発行した数

◆ Kill() [2/2]

template<typename TaskIDType >
size_t MGL::Task::Kill ( TaskIDType identifier,
ResideLevel resideLevel = ResideLevel::NoResident )
inlinenoexcept

指定したIDに対して削除要求を発行

テンプレート引数
TaskIDTypeタスクの種類を表す型
引数
[in]identifier削除するID
[in]resideLevel常駐レベルがこの値以下のタスクを削除する
戻り値
削除要求を発行した数

◆ NotifyEvent() [1/2]

template<typename EventIDType >
void MGL::Task::NotifyEvent ( EventIDType eventID,
void * argument = nullptr )
inlinenoexcept

タスクへのイベント通知

引数
[in]eventIDイベントID
テンプレート引数
EventIDTypeイベントの種類を表す型
引数
[in]argument引数

◆ NotifyEvent() [2/2]

template<typename TaskIDType , typename EventIDType >
void MGL::Task::NotifyEvent ( TaskIDType identifier,
EventIDType eventID,
void * argument = nullptr )
inlinenoexcept

タスクへのイベント通知

テンプレート引数
TaskIDTypeタスクの種類を表す型
EventIDTypeイベントの種類を表す型
引数
[in]identifierタスクID
[in]eventIDイベントID
[in]argument引数