TNB Library
公開メンバ関数 | 全メンバ一覧
CStrsTree クラス

ツリー型文字列情報管理クラス. [詳解]

#include <TnbTree.h>

+ CStrsTree の継承関係図

公開メンバ関数

bool Add (LPCTSTR key, CStr v)
 [追加] キー下の値追加 [詳解]
 
bool AddLeaf (LPCTSTR key, CTreeT< CStr, CStr, LPCTSTR > &other)
 [追加] キー下に枝を追加 [詳解]
 
CStrAt (LPCTSTR key)
 [取得] キー下の値の参照 [詳解]
 
const CStrAt (LPCTSTR key) const
 [取得] キー下の値の参照 [詳解]
 
CStrAtSelf (void)
 [取得] 直下の情報の参照 [詳解]
 
const CStrAtSelf (void) const
 [取得] 直下の情報の参照 [詳解]
 
CStrsTree Clone (void) const
 [複製] 複製作成. [詳解]
 
 CStrsTree (const CTreeT< CStr, CStr, LPCTSTR > &other)
 コピーコンストラクタ [詳解]
 
 CStrsTree (void)
 コンストラクタ [詳解]
 
virtual void Deserialize (const IDeserializer &ds)
 [通知] デシリアライズ [詳解]
 
CVectorT< CStrEnumKeys (void) const
 [取得] キー一覧 [詳解]
 
CStr Get (LPCTSTR key) const
 [取得] キー下の値取得 [詳解]
 
CConstKeysAdapter GetKeysAdapter (void) const
 [取得] キーのみの参照アダプタ取得. [詳解]
 
size_t GetSize (void) const
 [取得] キーの数 [詳解]
 
bool HasKey (LPCTSTR key) const
 [確認] キー有無 [詳解]
 
bool HasLeaf (LPCTSTR key) const
 [確認] キーは枝を持つか [詳解]
 
CStrsTree operator() (LPCTSTR key)
 [取得] キー下のTree取得 [詳解]
 
const CStrsTree operator() (LPCTSTR key) const
 [取得] キー下のTree取得 [詳解]
 
CStrsTreeoperator= (const CTreeT< CStr, CStr, LPCTSTR > &other)
 [代入] コピーオペレータ [詳解]
 
CStroperator[] (LPCTSTR key)
 [取得] キー下の値の参照 [詳解]
 
const CStroperator[] (LPCTSTR key) const
 [取得] キー下の値の参照 [詳解]
 
CStrsTree Refer (LPCTSTR key)
 [取得] キー下のTree取得 [詳解]
 
const CStrsTree Refer (LPCTSTR key) const
 [取得] キー下のTree取得 [詳解]
 
bool Remove (LPCTSTR key)
 [削除] キー下の値と枝を削除 [詳解]
 
void RemoveAll (void)
 [削除] 値と枝を削除 [詳解]
 
bool Scan (ICommand *I)
 [走査] 全要素走査. [詳解]
 
virtual void Serialize (ISerializer &_sr) const
 [通知] シリアライズ [詳解]
 
bool Set (LPCTSTR key, CStr v)
 [設定] キー下の値設定 [詳解]
 
CStr ToString (void)
 [変換] 単一文字列化 [詳解]
 

詳解

ツリー型文字列情報管理クラス.

キー=文字、値=文字のツリーを管理できます。

必要ファイル
TnbTree.h

TnbTree.h577 行目に定義があります。

構築子と解体子

◆ CStrsTree() [1/2]

CStrsTree ( void  )

コンストラクタ

TnbTree.h612 行目に定義があります。

◆ CStrsTree() [2/2]

CStrsTree ( const CTreeT< CStr, CStr, LPCTSTR > &  other)

コピーコンストラクタ

覚え書き
情報の共有をします。
引数
otherコピー元

TnbTree.h621 行目に定義があります。

関数詳解

◆ Add()

bool Add ( LPCTSTR  key,
CStr  v 
)
inherited

[追加] キー下の値追加

引数
keyキー
v
戻り値
true追加成功
falseキーは存在していた

TnbTree.h356 行目に定義があります。

◆ AddLeaf()

bool AddLeaf ( LPCTSTR  key,
CTreeT< CStr , CStr , LPCTSTR > &  other 
)
inherited

[追加] キー下に枝を追加

覚え書き
キーがあると失敗します。
注意
追加するTREEが、自分の子供、親でないことを保障してから枝を指定してください。
引数
keyキー
other
戻り値
true追加成功
falseキーは存在していた

TnbTree.h412 行目に定義があります。

◆ At() [1/2]

CStr & At ( LPCTSTR  key)
inherited

[取得] キー下の値の参照

覚え書き
キーがない場合、追加します。
引数
keyキー
戻り値
値の参照

TnbTree.h281 行目に定義があります。

◆ At() [2/2]

const CStr & At ( LPCTSTR  key) const
inherited

[取得] キー下の値の参照

引数
keyキー
戻り値
値の参照
例外
CEmptyExceptionキーが存在しない時にスローされます。

TnbTree.h255 行目に定義があります。

◆ AtSelf() [1/2]

CStr & AtSelf ( void  )
inherited

[取得] 直下の情報の参照

戻り値
情報(値と枝)

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

◆ AtSelf() [2/2]

const CStr & AtSelf ( void  ) const
inherited

[取得] 直下の情報の参照

戻り値
情報(値と枝)

TnbTree.h224 行目に定義があります。

◆ Clone()

CStrsTree Clone ( void  ) const

[複製] 複製作成.

戻り値
複製。変更しても本インスタンスに影響有りません。
todo:
現在シリアライズ機能を使って複製しています。そのため処理速度は遅いです。

TnbTree.h698 行目に定義があります。

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
virtualinherited

[通知] デシリアライズ

引数
dsデシリアライザー。これからメンバの内容を取り出してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbTree.h527 行目に定義があります。

◆ EnumKeys()

CVectorT< CStr > EnumKeys ( void  ) const
inherited

[取得] キー一覧

戻り値
一覧

TnbTree.h327 行目に定義があります。

◆ Get()

CStr Get ( LPCTSTR  key) const
inherited

[取得] キー下の値取得

引数
keyキー
戻り値
値の参照
例外
CEmptyExceptionキーが存在しない時にスローされます。

TnbTree.h309 行目に定義があります。

◆ GetKeysAdapter()

CConstKeysAdapter GetKeysAdapter ( void  ) const
inherited

[取得] キーのみの参照アダプタ取得.

キーのみ参照アダプタクラスを作成します。

戻り値
CConstKeysAdapter

TnbTree.h437 行目に定義があります。

◆ GetSize()

size_t GetSize ( void  ) const
inherited

[取得] キーの数

戻り値

TnbTree.h318 行目に定義があります。

◆ HasKey()

bool HasKey ( LPCTSTR  key) const
inherited

[確認] キー有無

引数
keyキー
戻り値
true存在する
false存在しない

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

◆ HasLeaf()

bool HasLeaf ( LPCTSTR  key) const
inherited

[確認] キーは枝を持つか

引数
keyキー
戻り値
true持っている
false持っていない

TnbTree.h389 行目に定義があります。

◆ operator()() [1/2]

CStrsTree operator() ( LPCTSTR  key)

[取得] キー下のTree取得

覚え書き
取得したTreeは操作可能です。操作すると元のTreeに影響が有ります。
存在しないキーを指定すると拡張されます。
引数
keyキー
戻り値
Tree

TnbTree.h666 行目に定義があります。

◆ operator()() [2/2]

const CStrsTree operator() ( LPCTSTR  key) const

[取得] キー下のTree取得

引数
keyキー
戻り値
Tree
例外
CEmptyExceptionキーの下の枝が存在しない時にスローされます。

TnbTree.h688 行目に定義があります。

◆ operator=()

CStrsTree & operator= ( const CTreeT< CStr, CStr, LPCTSTR > &  other)

[代入] コピーオペレータ

注意
情報の共有をします。
引数
otherコピー元
戻り値
自分の参照

TnbTree.h631 行目に定義があります。

◆ operator[]() [1/2]

CStr & operator[] ( LPCTSTR  key)
inherited

[取得] キー下の値の参照

覚え書き
キーがない場合、追加します。
引数
keyキー
戻り値
値の参照

TnbTree.h298 行目に定義があります。

◆ operator[]() [2/2]

const CStr & operator[] ( LPCTSTR  key) const
inherited

[取得] キー下の値の参照

引数
keyキー
戻り値
値の参照
例外
CEmptyExceptionキーが存在しない時にスローされます。

TnbTree.h270 行目に定義があります。

◆ Refer() [1/2]

CStrsTree Refer ( LPCTSTR  key)

[取得] キー下のTree取得

覚え書き
取得したTreeは操作可能です。操作すると元のTreeに影響が有ります。
存在しないキーを指定すると拡張されます。
引数
keyキー
戻り値
Tree

TnbTree.h654 行目に定義があります。

◆ Refer() [2/2]

const CStrsTree Refer ( LPCTSTR  key) const

[取得] キー下のTree取得

引数
keyキー
戻り値
Tree
例外
CEmptyExceptionキーの下の枝が存在しない時にスローされます。

TnbTree.h677 行目に定義があります。

◆ Remove()

bool Remove ( LPCTSTR  key)
inherited

[削除] キー下の値と枝を削除

引数
keyキー
戻り値
true成功
false失敗(キーが存在しない)

TnbTree.h374 行目に定義があります。

◆ RemoveAll()

void RemoveAll ( void  )
inherited

[削除] 値と枝を削除

TnbTree.h426 行目に定義があります。

◆ Scan()

bool Scan ( ICommand *  I)
inherited

[走査] 全要素走査.

順次発見し、 ICommand インターフェースに通知します。

引数
Iコマンド
戻り値
true最後まで走査
false中断

TnbTree.h555 行目に定義があります。

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtualinherited

[通知] シリアライズ

引数
[out]_srシリアライザー。 これに対しメンバの内容を追加してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbTree.h517 行目に定義があります。

◆ Set()

bool Set ( LPCTSTR  key,
CStr  v 
)
inherited

[設定] キー下の値設定

引数
keyキー
v
戻り値
true設定成功
falseキーは存在しない

TnbTree.h339 行目に定義があります。

◆ ToString()

CStr ToString ( void  )

[変換] 単一文字列化

戻り値
変換後の文字列

TnbTree.h641 行目に定義があります。