クラス テンプレート langedge::RemotePtr< T >

メンバー関数として void release() を持つインタフェースをラップするスマートポインタクラス. [詳細]

#include <remote_ptr.hpp>

langedge::RemotePtr< T >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 RemotePtr (T *pObj=NULL)
 コンストラクタ
T & operator * () const
 脱参照
T * operator-> () const
 メンバー参照
T * get () const
 生ポインタ取得
void reset (T *p)
 生ポインタの入れ替え
void release ()
 保持しているオブジェクトの解放 (対象クラスが release() メソッドを持っている)
 ~RemotePtr ()
 デストラクタ (release() を呼び出す)

説明

template<class T>
class langedge::RemotePtr< T >

メンバー関数として void release() を持つインタフェースをラップするスマートポインタクラス.

DLLなどで生成されたオブジェクトのインタフェースポインタ(T*)をラップし、 自身が破棄されるときに同時にリモートオブジェクトの release() メソッドを呼び出す。 インタフェースポインタに対して delete を呼び出すことはしないので、 通常、リモートオブェクトは、この release() メソッド内で自オブジェクトを delete する必要がある。

本オブジェクトはコピーおよび代入が禁止されている。したがってコンテナ等の要素には使えない。 また、関数引数として渡す場合は、参照の形で渡す必要がある。

引数:
T インタフェースの型。内部には T* 型のポインタを保持する。
例:

dll_sample_test.cpp.


コンストラクタとデストラクタ

template<class T>
langedge::RemotePtr< T >::RemotePtr T *  pObj = NULL  )  [inline]
 

コンストラクタ

template<class T>
langedge::RemotePtr< T >::~RemotePtr  )  [inline]
 

デストラクタ (release() を呼び出す)


関数

template<class T>
T& langedge::RemotePtr< T >::operator *  )  const [inline]
 

脱参照

template<class T>
T* langedge::RemotePtr< T >::operator->  )  const [inline]
 

メンバー参照

template<class T>
T* langedge::RemotePtr< T >::get  )  const [inline]
 

生ポインタ取得

template<class T>
void langedge::RemotePtr< T >::reset T *  p  )  [inline]
 

生ポインタの入れ替え

template<class T>
void langedge::RemotePtr< T >::release  )  [inline]
 

保持しているオブジェクトの解放 (対象クラスが release() メソッドを持っている)


このクラスの説明は次のファイルから生成されました:
LangEdge ライブラリに対してFri May 6 22:43:04 2005に生成されました。  doxygen 1.4.2