TNB Library
|
情報アクセスインターフェース. [詳解]
#include <TnbAccessor.h>
クラス | |
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で実装されています。