|
TNB Library
|
ポインタ型ハンドルテンプレート [詳解]
#include <TnbPointerHandle.h>
CArrayPtrHandleT< TYP > の継承関係図公開メンバ関数 | |
| CArrayPtrHandleT (const CArrayPtrHandleT &t) | |
| コピーコンストラクタ. [詳解] | |
| CArrayPtrHandleT (TYP *P) | |
| 代入コンストラクタ. [詳解] | |
| CArrayPtrHandleT (void) | |
| コンストラクタ. [詳解] | |
| int | GetReferCount (void) const |
| [取得] 参照数取得. [詳解] | |
| bool | IsNull (void) const |
| [確認] NULLチェック [詳解] | |
| void | Null (void) |
| [設定] 開放. [詳解] | |
| operator const TYP * (void) const | |
| [取得] TYP取得. [詳解] | |
| operator TYP * (void) | |
| [取得] TYP取得. [詳解] | |
| bool | operator!= (TYP * t) const |
| [比較] TYP比較. [詳解] | |
| TYP * | operator-> (void) |
| [取得] TYP取得. [詳解] | |
| const TYP * | operator-> (void) const |
| [取得] TYP取得. [詳解] | |
| bool | operator== (TYP * t) const |
| [比較] TYP比較. [詳解] | |
| TYP & | operator[] (int ind) |
| [取得] TYPポインタ取得. [詳解] | |
| const TYP & | operator[] (int ind) const |
| [取得] TYPポインタ取得. [詳解] | |
| TYP * * | ReferP (void) |
| [取得] TYPのポインタ取得. [詳解] | |
| TYP * const * | ReferP (void) const |
| [取得] TYPのポインタ取得. [詳解] | |
| int | SetReferCount (int iCount) |
| [設定] 参照数設定 [詳解] | |
ポインタ型ハンドルテンプレート
この型に new で確保したポインタを渡しておくと、
「領域」を参照する本クラスががなくなり次第、
自動的に開放します。
「Javaの参照型」や「C++/CLRのハンドル型」と
同じ使い方が可能になります。
コピーオペレータを持っているので、関数の戻り値などに
も使用できます。
@par
<table><tr><td><pre>
CArrayPtrHandleT<BYTE> foo(DWORD dwSize)
{
CArrayPtrHandleT<BYTE> hpBuff = new BYTE[dwSize];
DWORD dwReadBytes = 0;
BOOL boRc = ::ReadFile(m_hFile,hpBuff,dwSize,&dwReadBytes,NULL);
if ( ! boRc ){ hpBuff.Empty(); }
return hpBuff;
}
</pre></td></tr></table>
| TYP | 保持する型 |
TnbPointerHandle.h の 436 行目に定義があります。
| CArrayPtrHandleT | ( | void | ) |
| CArrayPtrHandleT | ( | TYP * | P | ) |
代入コンストラクタ.
指定されたTYPポインタを管理するインスタンスが作成されます。 この時点では、TYPポインタは新インスタンスだけが参照しています。
| P | new で確保したTYPポインタ。 |
TnbPointerHandle.h の 456 行目に定義があります。
| CArrayPtrHandleT | ( | const CArrayPtrHandleT< TYP > & | t | ) |
コピーコンストラクタ.
コピー元にTYPポインタがある場合、新規作成の本インスタンスでも、 そこを参照するようになります。
| t | 同じ型のインスタンス。 |
TnbPointerHandle.h の 466 行目に定義があります。
|
inherited |
[取得] 参照数取得.
TYPポインタが参照されている数を知ることが出来ます。
TnbPointerHandle.h の 221 行目に定義があります。
|
inherited |
|
inherited |
[設定] 開放.
本インスタンスが管理しているTYPを開放します。
TnbPointerHandle.h の 229 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
| TYP & operator[] | ( | int | ind | ) |
[取得] TYPポインタ取得.
管理しているTYPポインタを返します
| ind | インデックス。 |
| NUL | 管理していない |
| NUL以外 | TYPポインタ |
TnbPointerHandle.h の 477 行目に定義があります。
| const TYP & operator[] | ( | int | ind | ) | const |
[取得] TYPポインタ取得.
管理しているTYPポインタを返します
| ind | インデックス。 |
| NUL | 管理していない |
| NUL以外 | TYPポインタ |
TnbPointerHandle.h の 486 行目に定義があります。
|
inherited |
|
inherited |
|
inherited |
[設定] 参照数設定
| iCount | 設定する参照数 |
TnbPointerHandle.h の 209 行目に定義があります。