|
TNB Library
|
情報アクセスインターフェース. [詳解]
#include <TnbAccessor.h>
IAccessor の継承関係図クラス | |
| class | CSection |
| セクション情報アクセスクラス [詳解] | |
| class | CValue |
| 情報アクセスの汎用値保持クラス. [詳解] | |
公開型 | |
| typedef CMapT< CStr, CValue, LPCTSTR > | CKeyMap |
| キーと値のマップ型宣言 [詳解] | |
| typedef CTreeT< CStr, CValue, LPCTSTR > | CKeyTree |
| キーと値のツリー型宣言 [詳解] | |
| enum | EKind { EK_Nothing = 'n' , EK_String = 's' , EK_PluralStrings = 'p' , EK_Binary = 'b' , EK_Dword = 'd' , EK_Longlong = 'i' } |
| 値型の種類. [詳解] | |
公開メンバ関数 | |
| virtual bool | DeleteSection (LPCTSTR lpszSectionName)=0 |
| [削除] 指定セクション削除 [詳解] | |
| virtual CStrVector | EnumKeyNames (LPCTSTR lpszSectionName) const =0 |
| [取得] キー名一覧取得 [詳解] | |
| virtual CStrVector | EnumSectionNames (LPCTSTR lpszSectionName=NULL) const =0 |
| [取得] セクション名一覧取得 [詳解] | |
| virtual bool | Flush (void)=0 |
| [操作] フラッシュ. [詳解] | |
| virtual EKind | GetKeyKind (LPCTSTR lpszSectionName, LPCTSTR lpszKey) const =0 |
| [取得] 情報取種取得 [詳解] | |
| virtual CStr | GetTypeName (void) const =0 |
| [取得] タイプ名取得 [詳解] | |
| virtual CValue | QueryValue (LPCTSTR lpszSectionName, LPCTSTR lpszKey) const =0 |
| [取得] 情報取得 [詳解] | |
| virtual bool | WriteValue (LPCTSTR lpszSectionName, LPCTSTR lpszKey, const IAccessor::CValue &value)=0 |
| [設定] 情報設定 [詳解] | |
| virtual | ~IAccessor (void) |
| デストラクタ [詳解] | |
静的公開メンバ関数 | |
| template<typename TYP > | |
| static CVectorT< IAccessor::CValue > | ToValueVector (const CVectorT< TYP > &vt) |
| [変換] 配列変換. [詳解] | |
情報アクセスインターフェース.
セクションで区切られた中に複数のキーと値を持つ形の情報を管理するインターフェースです。
コンストラクタなどで情報のベースを指定し、
operator[]() で セクション情報アクセスクラス({@link IAccessor::CSection CSection})を取得し、
Query〜() 、 Write〜() などでキー情報にアクセスします。
CSection を使用してください。
CInifileAccessor ini;
CInifileAccessor::CSection sec1 = ini["SEC1"];
CInifileAccessor::CSection sec2 = ini["SEC2"];
sec1.WriteString("KEY1", "VALUE1"); //セクション[SEC1]のキー[KEY1]に"VALUE1"を代入
sec1.WriteString("KEY2", "VALUE2"); //同セクションにキー[KEY1]に"VALUE1"を代入
sec2.WriteString("KEY9", "VALUE9"); //セクション[SEC2]のキー[KEY9]に"VALUE9"を代入
;
CStrVector vs = sec1.EnumKeyNames(); //セクション[SEC1]下のキー名を全取得
|
TnbAccessor.h の 73 行目に定義があります。
| enum EKind |
値型の種類.
IAccessor と IAccessor::CValue で使う型の種類です。
| 列挙値 | |
|---|---|
| EK_Nothing | 存在しない |
| EK_String | 文字列 |
| EK_PluralStrings | 複数の文字列群 |
| EK_Binary | バイナリ |
| EK_Dword | 32Bit Unsigned Integer |
| EK_Longlong | 64Bit Signed Integer |
TnbAccessor.h の 79 行目に定義があります。
|
virtual |
デストラクタ
TnbAccessor.h の 867 行目に定義があります。
|
pure virtual |
[削除] 指定セクション削除
| lpszSectionName | セクション名。 |
| true | 成功 |
| false | 失敗 |
CDummyAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。
|
pure virtual |
[取得] キー名一覧取得
| lpszSectionName | セクション名 |
CDummyAccessor, CExInifileAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。
|
pure virtual |
[取得] セクション名一覧取得
| lpszSectionName | セクション名。 NULLを指定すると、ROOTのセクション一覧が得られます。 |
CDummyAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。
|
pure virtual |
[操作] フラッシュ.
| true | 成功 |
| false | 失敗 |
CAbstractAccessor, CCeInifileAccessor, CCipherableFileAccessor, CDummyAccessor, CInifileAccessor, CInifileTextAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessor, CXmlFileAccessorで実装されています。
|
pure virtual |
[取得] 情報取種取得
| lpszSectionName | セクション名 |
| lpszKey | キー名 |
CDummyAccessor, CExInifileAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。
|
pure virtual |
[取得] タイプ名取得
CCeInifileAccessor, CCipherableFileAccessor, CDummyAccessor, CInifileAccessor, CInifileTextAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessor, CXmlFileAccessorで実装されています。
|
pure virtual |
[取得] 情報取得
| lpszSectionName | セクション名 |
| lpszKey | キー名 |
CDummyAccessor, CExInifileAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。
|
static |
[変換] 配列変換.
IAccessor::CValue の配列に変換します。
| vt | 配列 |
TnbAccessor.h の 940 行目に定義があります。
|
pure virtual |
[設定] 情報設定
| lpszSectionName | セクション名 |
| lpszKey | キー名 |
| value | 設定する値。EK_Nothing の場合、キーを削除します。 |
| true | 成功 |
| false | 失敗 |
CDummyAccessor, CExInifileAccessor, CInifileAccessor, CRegistryAccessor, CTemporaryAccessor, CXmlAccessorで実装されています。