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

クラス テンプレートtoppers::polymorphic_diagnostics< T > の解説
[プログラム診断]

各処理を仮想関数として提供する診断クラス [詳細]

#include <toppers/diagnostics.hpp>

toppers::polymorphic_diagnostics< T >に対する継承グラフ

toppers::error_handler_diagnostics< T > すべてのメンバ一覧

Public 型

enum  { use_exception = true }

Public メンバ関数

virtual ~polymorphic_diagnostics ()
 仮想デストラクタ

virtual ER_UINT handle_error (ER_UINT ercd) const
 非静的メンバ関数内でのエラー処理

virtual void panic () const
 致命的なエラーを検出した際のパニック処理


Protected 型

enum  { use_exception = true }

Static Protected メンバ関数

ER_UINT handle_error (ER_UINT ercd)
 非静的メンバ関数内でのエラー処理

ER_UINT static_handle_error (ER_UINT ercd)
 静的メンバ関数内でのエラー処理

void panic ()
 致命的なエラーを検出した際のパニック処理

handler_type set_error_handler (handler_type handler)
 エラーハンドラの設定


解説

template<class T = void>
class toppers::polymorphic_diagnostics< T >

  polymorphic_diagnostics テンプレートクラスはerror_handler_diagnostics テンプレートクラスから protected 継承している。 デフォルトの動作はerror_handler_diagnostics と変わらないが、handler_error およびpanic メンバ関数が仮想関数として実装されている。また、デストラクタも 仮想関数になっているため、本ライブラリが提供するクラスから派生クラスを作る場合に 有効である。


列挙体の解説

template<class T = void>
anonymous enum [inherited]
 

列挙定数:
use_exception  error_handler_diagnostics クラスが内部で例外を使用するかもしれないことを示す

template<class T = void>
anonymous enum
 

列挙定数:
use_exception  error_handler_diagnostics クラスが内部で例外を使用するかもしれないことを示す