メインページ | モジュール | 名前空間一覧 | クラス階層 | 構成 | ファイル一覧 | 名前空間メンバ | 構成メンバ | ファイルメンバ | 関連ページ

クラス テンプレートtoppers::taskexception< Diagnostics, Stub > の解説
[カーネルオブジェクト管理]

タスク例外処理機能をカプセル化したテンプレートクラス [詳細]

#include <toppers/taskexception.hpp>

すべてのメンバ一覧

Public 型

typedef t_dtex definition
 定義情報パケット型

typedef t_rtex reference
 状態参照情報パケット型

typedef taskexception_body<
Diagnostics, Stub > 
body
 ボディクラス


Static Public メンバ関数

タスク例外処理ルーチンの定義
template<ID Id, class Diagnostics2, class Stub2> ER define (const task< Id, Diagnostics2, Stub2 > &host, const definition *pk_dobj)
 タスク例外処理ルーチンの定義

template<ID Id, class Diagnostics2, class Stub2> ER define (const task< Id, Diagnostics2, Stub2 > &host, ATR texatr, void(*texrtn)(TEXPTN, VP_INT))
 タスク例外処理ルーチンの定義(個別のフィールド指定)

template<class Body, ID Id, class Diagnostics2, class Stub2> ER define (const task< Id, Diagnostics2, Stub2 > &host, ATR texatr=0)
 タスク例外処理ルーチンの定義(ボディ指定)

ER define (const definition *pk_cobj)
 自タスクに対するタスク例外処理ルーチンの定義

ER define (ATR texatr, void(*texrtn)(TEXPTN, VP_INT))
 自タスクに対するタスク例外処理ルーチンの定義(個別のフィールド指定)

template<class Body> ER define (ATR texatr=0)
 自タスクに対するタスク例外処理ルーチンの定義(ボディ指定)

template<ID Id, class Diagnostics2, class Stub2> ER undefine (const task< Id, Diagnostics2, Stub2 > &host)
 タスク例外処理ルーチンの定義取り消し

ER undefine ()
 自タスクに対するタスク例外処理ルーチンの定義取り消し

状態参照
template<ID Id, class Diagnostics2, class Stub2> ER refer (const task< Id, Diagnostics2, Stub2 > &host, reference *pk_robj)
 タスク例外処理の状態参照

ER refer (reference *pk_robj)
 自タスクに対するタスク例外処理の状態参照

例外要求
template<ID Id, class Diagnostics2, class Stub2> ER raise (const task< Id, Diagnostics2, Stub2 > &host, TEXPTN rasptn, task_context_tag=task_context)
 タスク例外処理の要求

template<ID Id, class Diagnostics2, class Stub2> ER raise (const task< Id, Diagnostics2, Stub2 > &host, TEXPTN rasptn, non_task_context_tag)
 タスク例外処理の要求(非タスクコンテキスト)

template<ID Id, class Diagnostics2, class Stub2> ER raise (const task< Id, Diagnostics2, Stub2 > &host, TEXPTN rasptn, context_independent_tag)
 タスク例外処理の要求(コンテキスト非依存)

ER raise (TEXPTN rasptn, task_context_tag=task_context)
 自タスクに対するタスク例外処理の要求

ER raise (TEXPTN rasptn, non_task_context_tag)
 自タスクに対するタスク例外処理の要求(非タスクコンテキスト)

ER raise (TEXPTN rasptn, context_independent_tag)
 自タスクに対するタスク例外処理の要求(コンテキスト非依存)

禁止と許可
ER disable ()
 タスク例外処理の禁止

ER enable ()
 タスク例外処理の許可

bool sense ()
 タスク例外処理禁止状態の参照


解説

template<class Diagnostics = TOPPERS_DEFAULT_DIAGNOSTICS, class Stub = TOPPERS_DEFAULT_STUB>
class toppers::taskexception< Diagnostics, Stub >

  taskexception テンプレートクラスは、μITRON 4.0仕様のタスク例外処理機能をカプセル化している。 このクラスのメンバ関数は全て静的メンバ関数として実装されている。 また、ほとんどのメンバ関数はtask テンプレートクラスへの参照を引数として渡す汎用のものと、 task への参照を渡さない自タスク用のものがある。

警告:
C++ではタスク例外処理は必ずしも安全ではない。使用に際しては慎重に検討すること。
参照:
taskexception_body