TNB Library
|
マップ型情報管理テンプレート [詳解]
#include <TnbMap.h>
クラス | |
class | CConstKeysAdapter |
マップ型情報のキーのみ参照アダプタクラス [詳解] | |
class | CConstValuesAdapter |
マップ型情報の値のみ参照アダプタクラス [詳解] | |
公開型 | |
typedef TNB::CPairT< KEY, VAL > | CPair |
ペア型 定義 [詳解] | |
公開メンバ関数 | |
virtual INDEX | Add (const CPair &t) |
[追加] キーと値追加. [詳解] | |
virtual size_t | AddElements (size_t size, const TNB::CPairT< KEY, VAL > *P=NULL) |
[追加] 複数要素追加. [詳解] | |
INDEX | AddEx (const TNB::CPairT< KEY, VAL > &t) |
[追加] 要素一つ追加. [詳解] | |
virtual size_t | Append (const IConstCollectionT< CPair > &c) |
[追加] 追加. [詳解] | |
virtual const CPair & | At (INDEX index) const |
[取得] 要素の参照取得. [詳解] | |
iterator | begin (void) |
[反復] 先頭iterator. [詳解] | |
const_iterator | begin (void) const |
[反復] 先頭const_iterator. [詳解] | |
CMapT (const CMapT &map) | |
コピーコンストラクタ [詳解] | |
CMapT (size_t size=0) | |
コンストラクタ [詳解] | |
virtual INT_PTR | Compare (const IConstCollectionT< TNB::CPairT< KEY, VAL > > &c) const |
[確認] 比較. [詳解] | |
virtual size_t | Copy (const IConstCollectionT< TNB::CPairT< KEY, VAL > > &c) |
[設定] コピー. [詳解] | |
virtual size_t | CopyElements (size_t size, const TNB::CPairT< KEY, VAL > *P=NULL) |
[設定] コピー. [詳解] | |
virtual size_t | Cull (const IChecker &checker, bool boIsReverse=false) |
[削除] 間引き. [詳解] | |
virtual void | Deserialize (const IDeserializer &ds) |
[処理] デシリアライズ [詳解] | |
iterator | end (void) |
[反復] 最後iterator. [詳解] | |
const_iterator | end (void) const |
[反復] 最後const_iterator. [詳解] | |
CVectorT< KEY > | EnumKeys (void) const |
[取得] キーの一覧 [詳解] | |
INDEX | Find (const IChecker &checker, INDEX startIndex=0, bool boIsReverse=false) const |
[検索] 条件一致要素の検索. [詳解] | |
INDEX | Find (const IConstCollectionT< TNB::CPairT< KEY, VAL > > &t, const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator, INDEX startIndex=0) const |
[検索] 指定配列の検索. [詳解] | |
INDEX | Find (const IConstCollectionT< TNB::CPairT< KEY, VAL > > &t, INDEX startIndex=0) const |
[検索] 指定配列の検索. [詳解] | |
INDEX | Find (const TNB::CPairT< KEY, VAL > &t, const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator, INDEX startIndex=0) const |
[検索] 指定要素の検索. [詳解] | |
INDEX | Find (const TNB::CPairT< KEY, VAL > &t, INDEX startIndex=0) const |
[検索] 指定要素の検索. [詳解] | |
INDEX | FindMax (const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator, const TNB::CPairT< KEY, VAL > &def) const |
[検索] 要素の最大検索. [詳解] | |
INDEX | FindMax (const TNB::CPairT< KEY, VAL > &def) const |
[検索] 要素の最大検索. [詳解] | |
INDEX | FindMin (const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator, const TNB::CPairT< KEY, VAL > &def) const |
[検索] 要素の最小検索. [詳解] | |
INDEX | FindMin (const TNB::CPairT< KEY, VAL > &def) const |
[検索] 要素の最小検索. [詳解] | |
virtual CPair | Get (INDEX index) const |
[取得] キーと値を取得. [詳解] | |
bool | Get (INDEX index, KEY &_rKey, VAL &_rValue) const |
[取得] キーと値を取得. [詳解] | |
virtual size_t | GetElements (size_t size, TNB::CPairT< KEY, VAL > *_P, INDEX offset=0) const |
[取得] 複数要素取り出し. [詳解] | |
TNB::CPairT< KEY, VAL > | GetEx (INDEX index) const |
[取得] 要素の取得. [詳解] | |
CConstKeysAdapter | GetKeysAdapter (void) const |
[取得] キーのみの参照アダプタ取得. [詳解] | |
virtual size_t | GetSize (void) const |
[取得] 要素数取得 [詳解] | |
VAL * | GetValuePtr (INK key) |
[取得] 値アドレス取得. [詳解] | |
const VAL * | GetValuePtr (INK key) const |
[取得] 値アドレス取得. [詳解] | |
CConstValuesAdapter | GetValuesAdapter (void) const |
[取得] 値のみの参照アダプタ取得. [詳解] | |
bool | HasKey (INK key) const |
[確認] キー有無 [詳解] | |
virtual bool | Insert (INDEX index, const TNB::CPairT< KEY, VAL > &t) |
[追加] 要素一つ挿入. [詳解] | |
virtual bool | InsertEx (INDEX index, const TNB::CPairT< KEY, VAL > &t) |
[追加] 要素一つ挿入. [詳解] | |
bool | IsEmpty (void) const |
[確認] 要素の有無確認. [詳解] | |
virtual bool | IsEqual (const IConstCollectionT< TNB::CPairT< KEY, VAL > > &c) const |
[確認] 比較. [詳解] | |
bool | IsInRange (INDEX index) const |
[確認] INDEXの有効確認. [詳解] | |
virtual bool | Lock (DWORD dwTime=INFINITE) const |
[排他] ロック [詳解] | |
bool | Lookup (INK key, VAL &_rValue) const |
[取得] キーに対する値取得 [詳解] | |
operator size_t (void) const | |
[取得] 要素数取得. [詳解] | |
bool | operator!= (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
INT_PTR | operator- (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
bool | operator< (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
bool | operator<= (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
CMapT & | operator= (const CMapT &other) |
[代入] コピーオペレータ [詳解] | |
bool | operator== (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
bool | operator> (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
bool | operator>= (const TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > &t) const |
[確認] 比較 [詳解] | |
VAL & | operator[] (INK key) |
[取得] キーに対する値の参照 [詳解] | |
const VAL & | operator[] (INK key) const |
[取得] キーに対する値の参照 [詳解] | |
void | push_back (const TNB::CPairT< KEY, VAL > &t) |
[反復] 最後に追加 [詳解] | |
virtual CPair & | Ref (INDEX index) |
[取得] 要素の参照取得. [詳解] | |
virtual bool | Remove (INDEX index) |
[削除] キーと値一つ削除. [詳解] | |
virtual bool | RemoveAll (void) |
[削除] すべてのキーと値を削除 [詳解] | |
virtual size_t | RemoveElements (INDEX index, size_t size=0) |
[削除] 要素削除. [詳解] | |
bool | RemoveEx (INDEX index) |
[削除] 要素一つ削除. [詳解] | |
bool | RemoveKey (INK key) |
[削除] キーと値を削除 [詳解] | |
virtual void | Serialize (ISerializer &_sr) const |
[処理] シリアライズ [詳解] | |
virtual bool | Set (INDEX index, const CPair &t) |
[設定] 要素の設定. [詳解] | |
virtual size_t | SetElements (size_t size, const TNB::CPairT< KEY, VAL > *P=NULL) |
[設定] 複数要素設定. [詳解] | |
bool | SetEx (INDEX index, const TNB::CPairT< KEY, VAL > &t) |
[設定] 要素の設定. [詳解] | |
void | SetIncrementSize (size_t size) |
[設定] 余白サイズ [詳解] | |
void | SetKey (INK key, const VAL &newValue) |
[設定] キーに対する値設定 [詳解] | |
virtual bool | SetSize (size_t size) |
[操作] サイズ指定. [詳解] | |
bool | Shuffle (int iDepth=1) |
[操作] シャッフル. [詳解] | |
bool | Sort (bool boIsReverse=false, bool boIsBubble=false) |
[操作] ソート. [詳解] | |
bool | Sort (const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator, bool boIsReverse=false, bool boIsBubble=false) |
[操作] ソート. [詳解] | |
virtual void | Swap (INDEX index1, INDEX index2) |
[設定] 要素の入れ替え. [詳解] | |
size_t | TrimBottom (const TNB::CPairT< KEY, VAL > &t) |
[処理] 末尾トリム. [詳解] | |
size_t | TrimBottom (const TNB::CPairT< KEY, VAL > &t, const IComparatorT< TNB::CPairT< KEY, VAL > > &comparator) |
[処理] 末尾トリム. [詳解] | |
virtual void | Unlock (void) const |
[排他] アンロック [詳解] | |
virtual | ~CMapT (void) |
デストラクタ [詳解] | |
マップ型情報管理テンプレート
一意なキーに値を割り当ててコレクションすることができます。 キーで値を取り出したり削除することができます。
KEY | キーとする型。クラスの場合コピー機能、比較機能( IComparableT か、引き算)が必須。 |
VAL | 値とする型。クラスの場合コピー機能が必須。 |
INK | キーとする型の入力型。省略可能。 |
typedef TNB::CPairT<KEY,VAL> CPair |
|
explicit |
|
virtual |
[追加] キーと値追加.
すでにキーがある場合、値のみ変更します。
t | 要素 |
|
virtualinherited |
[追加] 複数要素追加.
最後に追加します。
size | 追加するデータの数。 |
P | 追加するデータ列のポインタ。省略すると TYP()が代入されます。 |
INVALID_SIZE | エラー。 |
それ以外 | 追加した数。 |
TnbCollection.h の 1174 行目に定義があります。
|
inherited |
|
virtual |
[追加] 追加.
指定のデータを追加します。
c | 追加するデータ |
INVALID_SIZE | エラー。 |
それ以外 | 追加した数。 |
ICollectionT< TNB::CPairT< KEY, VAL > >を再実装しています。
|
virtual |
[取得] 要素の参照取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
|
inherited |
|
inherited |
|
virtualinherited |
[確認] 比較.
コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。
c | 比較対象 |
0 | 自分は c と同じ |
1以上 | 自分は c より大きい |
0未満 | 自分は c より小さい |
IComparableT< TNB::IConstCollectionT< TNB::CPairT< KEY, VAL > > >を実装しています。
TnbCollection.h の 595 行目に定義があります。
|
virtualinherited |
[設定] コピー.
管理しているバッファを開放し、指定のデータをコピーします。
c | コピーするデータ |
INVALID_SIZE | エラー。 |
それ以外 | 複製した数。 |
TnbCollection.h の 1263 行目に定義があります。
|
virtualinherited |
[設定] コピー.
管理しているバッファを開放し、指定のデータをコピーします。
size | データ長。 |
P | コピーする内容を指定。省略すると TYP()が代入されます。 |
INVALID_SIZE | エラー。 |
それ以外 | 複製した数。 |
TnbCollection.h の 1232 行目に定義があります。
|
virtualinherited |
[削除] 間引き.
指定の条件に合わないもの(チェッカーの結果により)を削除します。
checker | チェッカー 。 |
boIsReverse | 省略すると条件に一致を残します。 trueを指定すると条件不一致を残します。 |
INVALID_SIZE | エラー。 |
それ以外 | 削除した数。 |
TnbCollection.h の 1290 行目に定義があります。
|
virtualinherited |
[処理] デシリアライズ
ds | デシリアライザー。これからメンバの内容を取り出してください。 |
CTnbException | 失敗時は、任意のスローの可能性があります。 |
IConstCollectionT< TNB::CPairT< KEY, VAL > >を再実装しています。
TnbCollection.h の 1355 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
[検索] 条件一致要素の検索.
チェッカー( IChecker のサブクラス)を使用して、検索します。
checker | チェッカー |
startIndex | 検索開始インデックス。 |
boIsReverse | 省略すると条件に一致を探します。 trueを指定すると条件不一致を探します。 |
INVALID_INDEX | 未発見 |
それ以外 | 発見したインデックス |
TnbCollection.h の 400 行目に定義があります。
|
inherited |
[検索] 指定配列の検索.
コンパレータ( IComparatorT のサブクラス)を使用して、検索します。
t | 配列 |
comparator | コンパレーター |
startIndex | 検索開始インデックス。 |
INVALID_INDEX | 未発見 |
それ以外 | 発見したインデックス |
TnbCollection.h の 427 行目に定義があります。
|
inherited |
[検索] 指定配列の検索.
IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。
t | 配列 |
startIndex | 検索開始インデックス。 |
INVALID_INDEX | 未発見 |
それ以外 | 発見したインデックス |
TnbCollection.h の 467 行目に定義があります。
|
inherited |
[検索] 指定要素の検索.
コンパレータ( IComparatorT のサブクラス)を使用して、検索します。
t | 要素 |
comparator | コンパレーター |
startIndex | 検索開始インデックス。 |
INVALID_INDEX | 未発見 |
それ以外 | 発見したインデックス |
TnbCollection.h の 482 行目に定義があります。
|
inherited |
[検索] 指定要素の検索.
IComparatorT::GetDefault() で得られるコンパレータを使用して検索します。
t | 要素 |
startIndex | 検索開始インデックス。 |
INVALID_INDEX | 未発見 |
それ以外 | 発見したインデックス |
TnbCollection.h の 508 行目に定義があります。
|
inherited |
[検索] 要素の最大検索.
コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。
comparator | コンパレーター |
def | 最小値(初期値) |
INVALID_INDEX | 未発見 |
それ以外 | 最大を持つインデックス |
TnbCollection.h の 521 行目に定義があります。
|
inherited |
[検索] 要素の最大検索.
IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。
def | 最小値(初期値) |
INVALID_INDEX | 未発見 |
それ以外 | 最大を持つインデックス |
TnbCollection.h の 545 行目に定義があります。
|
inherited |
[検索] 要素の最小検索.
コンパレータ( IComparatorT のサブクラス)を使用して、比較検索します。
comparator | コンパレーター |
def | 最大値(初期値) |
INVALID_INDEX | 未発見 |
それ以外 | 最小を持つインデックス |
TnbCollection.h の 558 行目に定義があります。
|
inherited |
[検索] 要素の最小検索.
IComparatorT::GetDefault() で得られるコンパレータを使用して比較検索します。
def | 最大値(初期値) |
INVALID_INDEX | 未発見 |
それ以外 | 最小を持つインデックス |
TnbCollection.h の 582 行目に定義があります。
|
virtual |
[取得] キーと値を取得.
0〜(GetSize()の戻り値未満) をインデックスとし、CPairT<KEY,VAL> 型で取得します。
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
bool Get | ( | INDEX | index, |
KEY & | _rKey, | ||
VAL & | _rValue | ||
) | const |
|
virtualinherited |
[取得] 複数要素取り出し.
[in] | size | 取り出すデータの数。 |
[out] | _P | コピーするポインタ。size 分の領域がある必要があります。 |
[in] | offset | 取り出し開始のインデックス。省略すると0。 |
TnbCollection.h の 322 行目に定義があります。
|
inherited |
[取得] 要素の取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
TnbCollection.h の 309 行目に定義があります。
CConstKeysAdapter GetKeysAdapter | ( | void | ) | const |
|
virtual |
VAL * GetValuePtr | ( | INK | key | ) |
const VAL * GetValuePtr | ( | INK | key | ) | const |
CConstValuesAdapter GetValuesAdapter | ( | void | ) | const |
|
virtualinherited |
[追加] 要素一つ挿入.
指定のインデックスに要素を追加します。
index | インデックス |
t | 要素 |
true | 挿入成功 |
false | 失敗(インデックス無効) |
TnbCollection.h の 1049 行目に定義があります。
|
virtualinherited |
[追加] 要素一つ挿入.
指定のインデックスに要素を追加します。
index | インデックス |
t | 要素 |
true | 挿入成功 |
false | 失敗(インデックス無効) |
TnbCollection.h の 1077 行目に定義があります。
|
inherited |
[確認] 要素の有無確認.
true | 要素なし |
false | 要素有り |
TnbCollection.h の 346 行目に定義があります。
|
virtual |
[確認] 比較.
コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。
c | 比較対象 |
true | 自分は c と同じ |
false | 自分は c と異なる |
|
inherited |
[確認] INDEXの有効確認.
index | インデックス |
true | 指定Indexは有効。 |
false | 指定Indexは無効(範囲外)。 |
TnbCollection.h の 358 行目に定義があります。
|
virtual |
[排他] ロック
dwTime | ダミーです。省略してください。 |
ISynchronizedを実装しています。
bool Lookup | ( | INK | key, |
VAL & | _rValue | ||
) | const |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
VAL & operator[] | ( | INK | key | ) |
const VAL & operator[] | ( | INK | key | ) | const |
|
inherited |
|
virtual |
[取得] 要素の参照取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
|
virtual |
[削除] キーと値一つ削除.
0〜(GetSize()の戻り値未満) をインデックスとし処理します。
index | インデックス |
true | 削除成功 |
false | 失敗 |
|
virtual |
|
virtualinherited |
[削除] 要素削除.
index | インデックス |
size | 削除数。省略すると0。0を指定するとそれ以降全部削除します。 |
INVALID_SIZE | エラー。 |
それ以外 | 削除した数。 |
TnbCollection.h の 1112 行目に定義があります。
|
inherited |
bool RemoveKey | ( | INK | key | ) |
|
virtualinherited |
[処理] シリアライズ
[out] | _sr | シリアライザー。 |
CTnbException | 失敗時は、任意のスローの可能性があります。 |
ISerializableを実装しています。
TnbCollection.h の 368 行目に定義があります。
|
virtual |
[設定] 要素の設定.
index | インデックス |
t | 内容 |
true | 設定成功 |
false | 失敗 |
|
virtualinherited |
[設定] 複数要素設定.
管理しているバッファを開放し、指定のデータをコピーします。
size | データ長。 |
P | コピーする内容を指定。省略すると TYP()が代入されます。 |
INVALID_SIZE | エラー。 |
それ以外 | 複製した数。 |
TnbCollection.h の 1245 行目に定義があります。
|
inherited |
void SetIncrementSize | ( | size_t | size | ) |
void SetKey | ( | INK | key, |
const VAL & | newValue | ||
) |
|
virtual |
|
inherited |
[操作] シャッフル.
要素の並びをシャッフルします。
iDepth | シャッフルを何回行うかを指定できます。数やればバラけるというものも有りません。 省略すると1回です。 |
true | 成功 |
false | 失敗 |
TnbCollection.h の 1434 行目に定義があります。
|
inherited |
[操作] ソート.
IComparatorT::GetDefault() で得られるコンパレータを使用して比較します。
boIsReverse | 省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。 |
boIsBubble | trueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。 |
true | 成功 |
false | 失敗 |
TnbCollection.h の 1420 行目に定義があります。
|
inherited |
[操作] ソート.
コンパレータ( IComparatorT のサブクラス)を使用して、比較します。
comparator | コンパレーター |
boIsReverse | 省略すると小さい順にソートします。 trueを指定すると大きい順位ソートします。 |
boIsBubble | trueをバブルソートアルゴリズムを使います。 通常はクイックソートアルゴリズムです。 |
true | 成功 |
false | 失敗 |
TnbCollection.h の 1385 行目に定義があります。
|
virtualinherited |
[設定] 要素の入れ替え.
index1 | インデックス1 |
index2 | インデックス2 |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
TnbCollection.h の 1155 行目に定義があります。
|
inherited |
|
inherited |
[処理] 末尾トリム.
t | トリム対象の情報。 |
comparator | コンパレータ。 |
TnbCollection.h の 1472 行目に定義があります。
|
virtual |