TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
CPointerHandleBaseT< TYP, DELE, NUL > クラステンプレート

ポインタハンドルテンプレートベースクラス [詳解]

#include <TnbPointerHandle.h>

+ CPointerHandleBaseT< TYP, DELE, NUL > の継承関係図

公開メンバ関数

 CPointerHandleBaseT (const CPointerHandleBaseT &other)
 コピーコンストラクタ. [詳解]
 
 CPointerHandleBaseT (TYP t)
 代入コンストラクタ. [詳解]
 
 CPointerHandleBaseT (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取得. [詳解]
 
CPointerHandleBaseToperator= (const CPointerHandleBaseT &other)
 [代入] コピーオペレータ. [詳解]
 
CPointerHandleBaseToperator= (TYP t)
 [代入] 代入. [詳解]
 
bool operator== (TYP t) const
 [比較] TYP比較. [詳解]
 
TYP * ReferP (void)
 [取得] TYPのポインタ取得. [詳解]
 
TYP const * ReferP (void) const
 [取得] TYPのポインタ取得. [詳解]
 
int SetReferCount (int iCount)
 [設定] 参照数設定 [詳解]
 
 ~CPointerHandleBaseT (void)
 デストラクタ. [詳解]
 

詳解

template<typename TYP, typename DELE, INT_PTR NUL = 0>
class TNB::CPointerHandleBaseT< TYP, DELE, NUL >

ポインタハンドルテンプレートベースクラス

引数
TYP保持する型。
DELE破棄するクラスを指定します。
NULTYPの空っぽの値を指定します。デフォルトは0です。
必要ファイル
TnbPointerHandle.h
日付
06/09/29 抽象化。
07/01/24 NULの扱い、修正。0も値に出来るようにした。

TnbPointerHandle.h40 行目に定義があります。

構築子と解体子

◆ CPointerHandleBaseT() [1/3]

CPointerHandleBaseT ( void  )

コンストラクタ.

TYPポインタを管理していないインスタンスが作成されます。

TnbPointerHandle.h93 行目に定義があります。

◆ CPointerHandleBaseT() [2/3]

CPointerHandleBaseT ( TYP  t)

代入コンストラクタ.

指定されたTYPポインタを管理するインスタンスが作成されます。 この時点では、TYPポインタは新インスタンスだけが参照しています。

引数
t

TnbPointerHandle.h105 行目に定義があります。

◆ CPointerHandleBaseT() [3/3]

CPointerHandleBaseT ( const CPointerHandleBaseT< TYP, DELE, NUL > &  other)

コピーコンストラクタ.

コピー元にTYPポインタがある場合、新規作成の本インスタンスでも、 そこを参照するようになります。

引数
other同じ型のインスタンス。

TnbPointerHandle.h117 行目に定義があります。

◆ ~CPointerHandleBaseT()

~CPointerHandleBaseT ( void  )

デストラクタ.

「TYPポインタを管理していたら、開放します。 ただし、TYPポインタが他からも参照されていたら、参照を一つ減らすだけです。

TnbPointerHandle.h128 行目に定義があります。

関数詳解

◆ GetReferCount()

int GetReferCount ( void  ) const

[取得] 参照数取得.

TYPポインタが参照されている数を知ることが出来ます。

覚え書き
通常使う必要は有りません。
戻り値
参照数

TnbPointerHandle.h221 行目に定義があります。

◆ IsNull()

bool IsNull ( void  ) const

[確認] NULLチェック

戻り値
trueTYPポインタ無し
falseTYPポインタ有り

TnbPointerHandle.h197 行目に定義があります。

◆ Null()

void Null ( void  )

[設定] 開放.

本インスタンスが管理しているTYPを開放します。

覚え書き
operator=(NUL) と同じ動作です。
TYPが他からも使われていたら、参照を一つ減らすだけです。

TnbPointerHandle.h229 行目に定義があります。

◆ operator const TYP()

operator const TYP ( void  ) const

[取得] TYP取得.

管理しているTYPを返します

戻り値
TYP の値

TnbPointerHandle.h262 行目に定義があります。

◆ operator TYP()

operator TYP ( void  )

[取得] TYP取得.

管理しているTYPを返します

戻り値
TYP の値

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

◆ operator!=()

bool operator!= ( TYP  t) const

[比較] TYP比較.

保持している TYPと比較します。

引数
t比較対照
戻り値
false同じ
true異なる

TnbPointerHandle.h294 行目に定義があります。

◆ operator->() [1/2]

TYP operator-> ( void  )

[取得] TYP取得.

管理しているTYPを返します

戻り値
TYP の値

TnbPointerHandle.h269 行目に定義があります。

◆ operator->() [2/2]

const TYP operator-> ( void  ) const

[取得] TYP取得.

管理しているTYPを返します

戻り値
TYP の値

TnbPointerHandle.h276 行目に定義があります。

◆ operator=() [1/2]

CPointerHandleBaseT & operator= ( const CPointerHandleBaseT< TYP, DELE, NUL > &  other)

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

本インスタンスで管理していたTYPポインタを開放し、 コピー元にTYPポインタがある場合、本インスタンスでも、 そこを参照するようになります。

引数
other同じ型のインスタンス。
戻り値
自分の参照。

TnbPointerHandle.h165 行目に定義があります。

◆ operator=() [2/2]

CPointerHandleBaseT & operator= ( TYP  t)

[代入] 代入.

本インスタンスで管理していたTYPポインタを開放し、 引数のTYPポインタを、本インスタンスで管理するようになります。

引数
t
戻り値
自分の参照。

TnbPointerHandle.h140 行目に定義があります。

◆ operator==()

bool operator== ( TYP  t) const

[比較] TYP比較.

保持している TYPと比較します。

引数
t比較対照
戻り値
true同じ
false異なる

TnbPointerHandle.h285 行目に定義があります。

◆ ReferP() [1/2]

TYP * ReferP ( void  )

[取得] TYPのポインタ取得.

戻り値
TYPのポインタ

TnbPointerHandle.h242 行目に定義があります。

◆ ReferP() [2/2]

TYP const * ReferP ( void  ) const

[取得] TYPのポインタ取得.

戻り値
TYPのポインタ

TnbPointerHandle.h248 行目に定義があります。

◆ SetReferCount()

int SetReferCount ( int  iCount)

[設定] 参照数設定

覚え書き
通常使う必要は有りません。例外として、0以下の参照数は、参照を増やすことが 出来ない様になっているため、意図的に使用することが出来ます。
引数
iCount設定する参照数
戻り値
設定前の参照数

TnbPointerHandle.h209 行目に定義があります。