TNB Library
|
ポインタ配列管理テンプレート [詳解]
#include <TnbPointerVector.h>
公開メンバ関数 | |
INDEX | Add (TYP *P) |
[追加] 要素一つ追加 [詳解] | |
virtual TYP *const & | At (INDEX index) const |
[取得] 要素の参照取得. [詳解] | |
const_iterator | begin (void) const |
[反復] 先頭const_iterator. [詳解] | |
virtual INT_PTR | Compare (const IConstCollectionT< TYP * > &c) const |
[確認] 比較. [詳解] | |
CPointerVectorT (const CPointerVectorT< TYP > &v) | |
コピーコンストラクタ [詳解] | |
CPointerVectorT (size_t size=0) | |
コンストラクタ [詳解] | |
virtual void | Deserialize (const IDeserializer &ds) |
[処理] デシリアライズ [詳解] | |
const_iterator | end (void) const |
[反復] 最後const_iterator. [詳解] | |
INDEX | Find (const IChecker &checker, INDEX startIndex=0, bool boIsReverse=false) const |
[検索] 条件一致要素の検索. [詳解] | |
INDEX | Find (const IConstCollectionT< TYP * > &t, const IComparatorT< TYP * > &comparator, INDEX startIndex=0) const |
[検索] 指定配列の検索. [詳解] | |
INDEX | Find (const IConstCollectionT< TYP * > &t, INDEX startIndex=0) const |
[検索] 指定配列の検索. [詳解] | |
INDEX | Find (const TYP * &t, const IComparatorT< TYP * > &comparator, INDEX startIndex=0) const |
[検索] 指定要素の検索. [詳解] | |
INDEX | Find (const TYP * &t, INDEX startIndex=0) const |
[検索] 指定要素の検索. [詳解] | |
INDEX | FindMax (const IComparatorT< TYP * > &comparator, const TYP * &def) const |
[検索] 要素の最大検索. [詳解] | |
INDEX | FindMax (const TYP * &def) const |
[検索] 要素の最大検索. [詳解] | |
INDEX | FindMin (const IComparatorT< TYP * > &comparator, const TYP * &def) const |
[検索] 要素の最小検索. [詳解] | |
INDEX | FindMin (const TYP * &def) const |
[検索] 要素の最小検索. [詳解] | |
virtual TYP * | Get (INDEX index) const |
[取得] 要素の取得. [詳解] | |
virtual size_t | GetElements (size_t size, TYP * *_P, INDEX offset=0) const |
[取得] 複数要素取り出し. [詳解] | |
TYP * | GetEx (INDEX index) const |
[取得] 要素の取得. [詳解] | |
virtual size_t | GetSize (void) const |
[取得] 要素数取得 [詳解] | |
bool | Insert (INDEX index, TYP *P) |
[挿入] 要素一つ挿入 [詳解] | |
bool | IsEmpty (void) const |
[確認] 要素の有無確認. [詳解] | |
virtual bool | IsEqual (const IConstCollectionT< TYP * > &c) const |
[確認] 比較. [詳解] | |
bool | IsInRange (INDEX index) const |
[確認] INDEXの有効確認. [詳解] | |
virtual bool | Lock (DWORD dwTime=INFINITE) const |
[排他] ロック [詳解] | |
operator size_t (void) const | |
[取得] 要素数取得. [詳解] | |
bool | operator!= (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
INT_PTR | operator- (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
bool | operator< (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
bool | operator<= (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
CPointerVectorT & | operator= (const CPointerVectorT< TYP > &other) |
[代入] コピーオペレータ [詳解] | |
bool | operator== (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
bool | operator> (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
bool | operator>= (const TNB::IConstCollectionT< TYP * > &t) const |
[確認] 比較 [詳解] | |
TYP * | operator[] (INDEX index) const |
[取得] 要素参照取得 [詳解] | |
bool | Remove (INDEX index) |
[削除] 要素削除 [詳解] | |
void | RemoveAll (void) |
[削除] 空化 [詳解] | |
size_t | RemoveElements (INDEX index, size_t size=0) |
[削除] 要素削除. [詳解] | |
virtual void | Serialize (ISerializer &_sr) const |
[処理] シリアライズ [詳解] | |
bool | Set (INDEX index, TYP *P) |
[設定] 要素の設定 [詳解] | |
void | SetSize (size_t size) |
[操作] サイズ指定 [詳解] | |
virtual void | Unlock (void) const |
[排他] アンロック [詳解] | |
virtual | ~CPointerVectorT (void) |
デストラクタ [詳解] | |
ポインタ配列管理テンプレート
newで確保した一つ型のポインタ配列を管理します。 動的に配列を増やすことができます。 コピーや削除で不要になったポインタは自動的に delete します。 複製しても、ポインタ先の実体は複製しません。ですので、実体を操作すると、 コピー元にも影響が出ます。
TYP | 保持する型(コピーできなくてもよし) |
TnbPointerVector.h の 60 行目に定義があります。
|
explicit |
コンストラクタ
size | メモリ確保時の追加サイズ |
TnbPointerVector.h の 72 行目に定義があります。
CPointerVectorT | ( | const CPointerVectorT< TYP > & | v | ) |
|
virtual |
デストラクタ
TnbPointerVector.h の 120 行目に定義があります。
INDEX Add | ( | TYP * | P | ) |
[追加] 要素一つ追加
P | データのポインタ。newで確保したものに限ります。 |
INVALID_INDEX | 失敗。 |
上記以外 | 追加したINDEX。 |
TnbPointerVector.h の 173 行目に定義があります。
|
virtual |
[取得] 要素の参照取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
IConstCollectionT< TYP * >を実装しています。
TnbPointerVector.h の 112 行目に定義があります。
|
inherited |
|
virtualinherited |
[確認] 比較.
コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。
c | 比較対象 |
0 | 自分は c と同じ |
1以上 | 自分は c より大きい |
0未満 | 自分は c より小さい |
IComparableT< TNB::IConstCollectionT< TYP * > >を実装しています。
TnbCollection.h の 595 行目に定義があります。
|
virtualinherited |
[処理] デシリアライズ
ds | デシリアライザー。 |
CNotSupportException | サポートしていないことを示すためにスローされます。 |
ISerializableを実装しています。
ICollectionT< TYP * >で再実装されています。
TnbCollection.h の 384 行目に定義があります。
|
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 行目に定義があります。
|
virtualinherited |
[取得] 要素の取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
CVectorT< TYP * >で再実装されています。
TnbCollection.h の 298 行目に定義があります。
|
virtualinherited |
[取得] 複数要素取り出し.
[in] | size | 取り出すデータの数。 |
[out] | _P | コピーするポインタ。size 分の領域がある必要があります。 |
[in] | offset | 取り出し開始のインデックス。省略すると0。 |
TnbCollection.h の 322 行目に定義があります。
|
inherited |
[取得] 要素の取得.
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
TnbCollection.h の 309 行目に定義があります。
|
virtual |
bool Insert | ( | INDEX | index, |
TYP * | P | ||
) |
[挿入] 要素一つ挿入
index | 追加するINDEX。 |
P | データのポインタ。newで確保したものに限ります。 |
true | 成功。 |
false | 失敗。 |
TnbPointerVector.h の 185 行目に定義があります。
|
inherited |
[確認] 要素の有無確認.
true | 要素なし |
false | 要素有り |
TnbCollection.h の 346 行目に定義があります。
|
virtualinherited |
[確認] 比較.
コンパレータ( IComparatorT のサブクラス)を使用して、全要素を比較します。
c | 比較対象 |
true | 自分は c と同じ |
false | 自分は c と異なる |
IComparableT< TNB::IConstCollectionT< TYP * > >を再実装しています。
TnbCollection.h の 624 行目に定義があります。
|
inherited |
[確認] INDEXの有効確認.
index | インデックス |
true | 指定Indexは有効。 |
false | 指定Indexは無効(範囲外)。 |
TnbCollection.h の 358 行目に定義があります。
|
virtual |
[排他] ロック
dwTime | ダミー。省略してください。 |
ISynchronizedを実装しています。
TnbPointerVector.h の 101 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
CPointerVectorT & operator= | ( | const CPointerVectorT< TYP > & | other | ) |
|
inherited |
|
inherited |
|
inherited |
TYP * operator[] | ( | INDEX | index | ) | const |
[取得] 要素参照取得
index | インデックス |
CIndexOutOfBoundsException | インデックスが範囲外であることを示すためにスローされます。 |
TnbPointerVector.h の 208 行目に定義があります。
bool Remove | ( | INDEX | index | ) |
void RemoveAll | ( | void | ) |
[削除] 空化
TnbPointerVector.h の 138 行目に定義があります。
size_t RemoveElements | ( | INDEX | index, |
size_t | size = 0 |
||
) |
[削除] 要素削除.
index | インデックス |
size | 削除数。省略すると0。0を指定するとそれ以降全部削除します。 |
INVALID_SIZE | エラー。 |
TnbPointerVector.h の 150 行目に定義があります。
|
virtual |
[処理] シリアライズ
[out] | _sr | シリアライザー。 |
CNotSupportException | サポートしていないことを示すためにスローされます。 |
IConstCollectionT< TYP * >を再実装しています。
TnbPointerVector.h の 227 行目に定義があります。
bool Set | ( | INDEX | index, |
TYP * | P | ||
) |
[設定] 要素の設定
index | インデックス |
P | データのポインタ。newで確保したものに限ります。 |
true | 設定成功 |
false | 失敗(インデックスが範囲外、など) |
TnbPointerVector.h の 197 行目に定義があります。
void SetSize | ( | size_t | size | ) |
[操作] サイズ指定
size | サイズ |
TnbPointerVector.h の 162 行目に定義があります。
|
virtual |