静的公開メンバ | |
void | Set (const int p_iId, const std::string &p_rcStr) throw ( std::logic_error ) |
・ID とその文字列をセットします。. より詳しく... | |
std::string | Get (const int p_iId) |
・ID からその文字列を取得します。. より詳しく... | |
非公開型 | |
typedef std::map< int, std::string > | type_int_string_map |
マップの型定義。. より詳しく... | |
enum | E_CODE { E_THIS_MAP_ID = i_MapId } |
i_MapId の再定義。. より詳しく... | |
非公開メンバ | |
CConstants () | |
・コンストラクタ。. より詳しく... | |
CConstants (CConstants &) | |
・コピーコンストラクタ。. より詳しく... | |
静的非公開メンバ | |
type_int_string_map & | GetRef () |
・このクラスが持つマップへの参照を返します。. より詳しく... |
たとえば、 GetLastError() で取得したエラーコードを文字列として出力したい場合に、 それぞれのコードを case で調べて文字列リテラルとして出力するのは現実的ではありません。 こういう場合には外部ファイルにエラーコードとその文字列を置いておく方法もありますが、 エラーコードを外に出したくない場合もあります。
その場合にこのクラスを使用します。
実際にはこのクラスを直接は使用せず、 KSCL_CONSTANTS_SET() と KSCL_CONSTANTS_GET() を使用します。
まず、整数値マップの ID を用意します。
const int ERROR_MAP = 100;マッピングはこのマップ ID ごとに行われます。
KSCL_CONSTANTS_SET( ERROR_ACCESS_DENIED, ERROR_MAP );これで、 ERROR_ACCESS_DENIED という整数値から "ERROR_ACCESS_DENIED" という文字列が 取得できるようになりました。
std::string cStr = KSCL_CONSTANTS_GET( GetLastError(), ERROR_MAP );もし GetLastError() で ERROR_ACCESS_DENIED が返ってきていれば、 cStr には "ERROR_ACCESS_DENIED" が入っているというわけです。
i_MapId | マッピング用のマップ ID 。登録はこのマップ ID ごとに行われます。 |
|
マップの型定義。.
|
|
i_MapId の再定義。. 各メンバ関数から i_MapId を参照するためです。 |
|
・コンストラクタ。. 使用しないよう private で封印されています。 |
|
・コピーコンストラクタ。. 使用しないよう private で封印されています。 |
|
・このクラスが持つマップへの参照を返します。.
このメンバ関数の中に持っているマップへの参照を返します。
|
|
・ID とその文字列をセットします。. 実際には KSCL_CONSTANTS_SET() を使用してください。
|
|
・ID からその文字列を取得します。. 実際には KSCL_CONSTANTS_GET() を使用してください。
|