TNB Library
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
CTmlResult クラス

TinyMacroLang 結果状態管理 [詳解]

#include <TnbTmlResult.h>

+ CTmlResult の継承関係図

公開型

enum  EOperation {
  Operation_Non , Operation_Text , Operation_Text_Esc , Operation_Text_EscHex ,
  Operation_Calc , Operation_CheckFunc , Operation_CheckStatement , Operation_FindingFunc ,
  Operation_FileAccess
}
 オペレーションコード [詳解]
 
enum  EResult {
  Result_Success = 1 , Result_Nop = 0 , Result_UnknownError = -10000 , Result_InvalidEscSeq ,
  Result_InvalidHexNotation , Result_NotFoundParentheses , Result_NotCloseParentheses , Result_InvalidParenthesesPosition ,
  Result_UnfinishedExpression , Result_ZeroDivide , Result_UnknownKeyword , Result_InvalidWordPosition ,
  Result_NotName , Result_AlreadyExistName , Result_UnnecessaryParam , Result_ManyParam ,
  Result_NotenoughParam , Result_OutOfRange , Result_InvalidMacroContentsLevel , Result_OpenFailure ,
  Result_ReadFailure , Result_SendFailure , Result_InvalidState , Result_NotFoundFunction ,
  Result_UserInterruption , Result_ProgramableInterruption
}
 リザルトコード [詳解]
 
enum  EScene {
  Scene_Non , Scene_Val , Scene_Array , Scene_Func ,
  Scene_If , Scene_Else , Scene_Switch , Scene_Case ,
  Scene_Default , Scene_While , Scene_Break , Scene_Return ,
  Scene_Include , Scene_End
}
 シーンコード [詳解]
 

公開メンバ関数

 CTmlResult (const CTmlResult &other)
 コピーコンストラクタ [詳解]
 
 CTmlResult (EOperation eOperation, EResult eResult)
 代入コンストラクタ. [詳解]
 
 CTmlResult (EResult i)
 代入コンストラクタ. [詳解]
 
 CTmlResult (EScene eScene, EOperation eOperation, EResult eResult)
 代入コンストラクタ. [詳解]
 
 CTmlResult (void)
 コンストラクタ. [詳解]
 
LPCSTR GetErrorString (void) const
 [取得] エラー内容取得 [詳解]
 
INT_PTR GetFileLine (void) const
 「取得」 エラーソース行番号取得 [詳解]
 
LPCSTR GetFileName (void) const
 [取得] エラーソースファイル名取得 [詳解]
 
LPCSTR GetFuncName (void) const
 [取得] エラー発生関数名取得 [詳解]
 
EOperation GetOperation (void) const
 [取得] オペレーションコード取得 [詳解]
 
EResult GetResult (void) const
 [取得] リザルトコード取得. [詳解]
 
EScene GetScene (void) const
 [取得] シーンコード取得 [詳解]
 
bool IsError (void) const
 [確認] ERROR 確認. [詳解]
 
bool IsNop (void) const
 [確認] NOP 確認. [詳解]
 
bool IsSuccess (void) const
 [確認] SUCCESS 確認. [詳解]
 
CTmlResultoperator= (const CTmlResult &other)
 コピーオペレータ [詳解]
 
CTmlResultoperator= (EResult i)
 [代入] int型値代入. [詳解]
 
void SetErrorString (LPCSTR lpszString)
 [設定] エラー内容設定 [詳解]
 
void SetFuncName (LPCSTR lpszFunc)
 [設定] エラー発生関数名設定 [詳解]
 
CTmlResultSetLine (const CTmlGrammar &gram)
 [設定] エラーソースファイル名、行数設定 [詳解]
 
CTmlResultSetLine (LPCSTR lpszFileName, INT_PTR iFileLine)
 [設定] エラーソースファイル名、行数設定 [詳解]
 
void SetNop (void)
 [設定] NOP設定. [詳解]
 
void SetOperation (EOperation eOperation)
 [設定] オペレーションコード設定 [詳解]
 
void SetScene (EScene eScene)
 [設定] シーンコード設定 [詳解]
 
void SetSuccess (void)
 [設定] SUCCESS設定. [詳解]
 
CAscii ToString (void)
 [取得] 文字列取得. [詳解]
 

静的公開メンバ関数

static CTmlResult CheckParamNum (INT_PTR iParamNum, INT_PTR iExpectNum)
 [確認] パラメータの数と、期待の数のチェック. [詳解]
 
static LPCSTR OperationToString (EOperation eOperation)
 [変換] オペレーションコード→文字列 [詳解]
 
static LPCSTR ResultToString (INT_PTR result)
 [変換] リザルトコード→文字列 [詳解]
 
static LPCSTR SceneToString (EScene eScene)
 [変換] シーンコード→文字列 [詳解]
 

詳解

TinyMacroLang 結果状態管理

結果を管理するクラス マイナスは、エラーコード。プラスは任意の値を保管できます。 オペレータint があるので、通常はint としてアクセスできます。

必要ファイル
TnbTmlResult.h
日付
06/01/01 新規作成
09/08/18 改新

TnbTmlResult.h132 行目に定義があります。

列挙型メンバ詳解

◆ EOperation

enum EOperation
inherited

オペレーションコード

列挙値
Operation_Non 

未定義

Operation_Text 

文字列処理中

Operation_Text_Esc 

文字列 ¥? 処理中

Operation_Text_EscHex 

文字列 ¥x 処理中

Operation_Calc 

計算処理中

Operation_CheckFunc 

関数チェック中

Operation_CheckStatement 

ステートメントチェック中

Operation_FindingFunc 

関数検索中

Operation_FileAccess 

Fileアクセス中

TnbTmlResult.h71 行目に定義があります。

◆ EResult

enum EResult
inherited

リザルトコード

列挙値
Result_Success 

成功

Result_Nop 

処理なし

Result_UnknownError 

その他のエラー

Result_InvalidEscSeq 

エスケープシーケンスが異常

Result_InvalidHexNotation 

HEX表記が異常

Result_NotFoundParentheses 

括弧が必要なところにない

Result_NotCloseParentheses 

括弧が閉じていない

Result_InvalidParenthesesPosition 

括弧の位置がおかしい

Result_UnfinishedExpression 

計算式が途中で終わっている

Result_ZeroDivide 

0で割ろうとしてます

Result_UnknownKeyword 

知らないキーワード

Result_InvalidWordPosition 

単語位置が異常です(そこには存在しないはず)

Result_NotName 

名前がありません

Result_AlreadyExistName 

既にある名前です

Result_UnnecessaryParam 

引数は不必要です

Result_ManyParam 

引数が多すぎます

Result_NotenoughParam 

引数が足りません

Result_OutOfRange 

範囲外

Result_InvalidMacroContentsLevel 

マクロコンテンツレベルが異常です

Result_OpenFailure 

Open失敗

Result_ReadFailure 

Read失敗

Result_SendFailure 

Send失敗

Result_InvalidState 

状態エラー(今、実行できません)

Result_NotFoundFunction 

必要な関数がありません

Result_UserInterruption 

ユーザによる中断

Result_ProgramableInterruption 

プログラムによる中断

TnbTmlResult.h86 行目に定義があります。

◆ EScene

enum EScene
inherited

シーンコード

列挙値
Scene_Non 

未定義

Scene_Val 

val文処理中

Scene_Array 

array文処理中

Scene_Func 

func文処理中

Scene_If 

if文処理中

Scene_Else 

else文処理中

Scene_Switch 

switch文処理中

Scene_Case 

case文処理中

Scene_Default 

default文処理中

Scene_While 

while文処理中

Scene_Break 

break文処理中

Scene_Return 

return文処理中

Scene_Include 

include文処理中

Scene_End 

end文処理中

TnbTmlResult.h52 行目に定義があります。

構築子と解体子

◆ CTmlResult() [1/5]

CTmlResult ( void  )

コンストラクタ.

Success を持ちます。

TnbTmlResult.h140 行目に定義があります。

◆ CTmlResult() [2/5]

CTmlResult ( const CTmlResult other)

コピーコンストラクタ

引数
otherコピー元

TnbTmlResult.h148 行目に定義があります。

◆ CTmlResult() [3/5]

CTmlResult ( EOperation  eOperation,
EResult  eResult 
)

代入コンストラクタ.

オペレーション&結果代入。シーンコード」「エラーソース位置」「エラー内容」「発生関数名」は無しです。

引数
eOperationオペレーションコード
eResultリザルトコード

TnbTmlResult.h160 行目に定義があります。

◆ CTmlResult() [4/5]

CTmlResult ( EScene  eScene,
EOperation  eOperation,
EResult  eResult 
)

代入コンストラクタ.

シーン&オペレーション&結果代入。「エラーソース位置」「エラー内容」「発生関数名」は無しです。

引数
eSceneシーンコード
eOperationオペレーションコード
eResultリザルトコード

TnbTmlResult.h172 行目に定義があります。

◆ CTmlResult() [5/5]

代入コンストラクタ.

結果代入。「オペレーションコード」「シーンコード」 「エラーソース位置」「エラー内容」「発生関数名」は無しです。

引数
i普通の int か、リザルトコード( EResult )

TnbTmlResult.h183 行目に定義があります。

関数詳解

◆ CheckParamNum()

static CTmlResult CheckParamNum ( INT_PTR  iParamNum,
INT_PTR  iExpectNum 
)
static

[確認] パラメータの数と、期待の数のチェック.

引数
iParamNum実際のパラメータの数。
iExpectNum期待するパラメータ数
戻り値
結果。

TnbTmlResult.h453 行目に定義があります。

◆ GetErrorString()

LPCSTR GetErrorString ( void  ) const

[取得] エラー内容取得

戻り値
エラー内容

TnbTmlResult.h370 行目に定義があります。

◆ GetFileLine()

INT_PTR GetFileLine ( void  ) const

「取得」 エラーソース行番号取得

戻り値
エラーソース行番号

TnbTmlResult.h379 行目に定義があります。

◆ GetFileName()

LPCSTR GetFileName ( void  ) const

[取得] エラーソースファイル名取得

戻り値
エラーソースファイル名

TnbTmlResult.h388 行目に定義があります。

◆ GetFuncName()

LPCSTR GetFuncName ( void  ) const

[取得] エラー発生関数名取得

戻り値
エラー発生関数名

TnbTmlResult.h361 行目に定義があります。

◆ GetOperation()

EOperation GetOperation ( void  ) const

[取得] オペレーションコード取得

戻り値
オペレーションコード

TnbTmlResult.h352 行目に定義があります。

◆ GetResult()

EResult GetResult ( void  ) const

[取得] リザルトコード取得.

戻り値
リザルトコード

TnbTmlResult.h334 行目に定義があります。

◆ GetScene()

EScene GetScene ( void  ) const

[取得] シーンコード取得

戻り値
シーンコード

TnbTmlResult.h343 行目に定義があります。

◆ IsError()

bool IsError ( void  ) const

[確認] ERROR 確認.

戻り値
trueエラー
falseNop か Success。

TnbTmlResult.h254 行目に定義があります。

◆ IsNop()

bool IsNop ( void  ) const

[確認] NOP 確認.

戻り値
trueNop
falseSuccess か エラー。

TnbTmlResult.h264 行目に定義があります。

◆ IsSuccess()

bool IsSuccess ( void  ) const

[確認] SUCCESS 確認.

戻り値
trueSuccess
falseNop か エラー。

TnbTmlResult.h244 行目に定義があります。

◆ OperationToString()

static LPCSTR OperationToString ( EOperation  eOperation)
static

[変換] オペレーションコード→文字列

引数
eOperationオペレーションコード
戻り値
文字列

TnbTmlResult.h506 行目に定義があります。

◆ operator=() [1/2]

CTmlResult & operator= ( const CTmlResult other)

コピーオペレータ

引数
otherコピー元
戻り値
自分の参照.

TnbTmlResult.h192 行目に定義があります。

◆ operator=() [2/2]

CTmlResult & operator= ( EResult  i)

[代入] int型値代入.

結果代入。 「オペレーションコード」「シーンコード」 「エラーソース位置」「エラー内容」「発生関数名」は無しです。

引数
i普通の int か、リザルトコード( EResult )
戻り値
自分の参照

TnbTmlResult.h212 行目に定義があります。

◆ ResultToString()

static LPCSTR ResultToString ( INT_PTR  result)
static

[変換] リザルトコード→文字列

引数
resultリザルトコード
戻り値
文字列

TnbTmlResult.h529 行目に定義があります。

◆ SceneToString()

static LPCSTR SceneToString ( EScene  eScene)
static

[変換] シーンコード→文字列

引数
eSceneシーンコード
戻り値
文字列

TnbTmlResult.h479 行目に定義があります。

◆ SetErrorString()

void SetErrorString ( LPCSTR  lpszString)

[設定] エラー内容設定

引数
lpszStringエラー内容

TnbTmlResult.h300 行目に定義があります。

◆ SetFuncName()

void SetFuncName ( LPCSTR  lpszFunc)

[設定] エラー発生関数名設定

引数
lpszFuncエラー発生関数名

TnbTmlResult.h291 行目に定義があります。

◆ SetLine() [1/2]

CTmlResult & SetLine ( const CTmlGrammar gram)

[設定] エラーソースファイル名、行数設定

引数
gram文字列解析クラス
戻り値
自分の参照。

TnbTmlResult.h323 行目に定義があります。

◆ SetLine() [2/2]

CTmlResult & SetLine ( LPCSTR  lpszFileName,
INT_PTR  iFileLine 
)

[設定] エラーソースファイル名、行数設定

引数
lpszFileNameエラーソースファイル名
iFileLineエラー発生行番号
戻り値
自分の参照。

TnbTmlResult.h311 行目に定義があります。

◆ SetNop()

void SetNop ( void  )

[設定] NOP設定.

結果を NOPにします。

TnbTmlResult.h223 行目に定義があります。

◆ SetOperation()

void SetOperation ( EOperation  eOperation)

[設定] オペレーションコード設定

引数
eOperationオペレーションコード

TnbTmlResult.h282 行目に定義があります。

◆ SetScene()

void SetScene ( EScene  eScene)

[設定] シーンコード設定

引数
eSceneシーンコード

TnbTmlResult.h273 行目に定義があります。

◆ SetSuccess()

void SetSuccess ( void  )

[設定] SUCCESS設定.

結果を SUCCESSにします。

TnbTmlResult.h233 行目に定義があります。

◆ ToString()

CAscii ToString ( void  )

[取得] 文字列取得.

覚え書き
本インスタンスが保持している内容から、文字列を生成します。 ただしエラーコードが0以上の場合、"" を返します。
戻り値
文字列
ex) "エラーソース名(行): 関数名 シーン オペレーション リザルト エラー内容"

TnbTmlResult.h401 行目に定義があります。