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

他の場所(DLLなど)で生成した配列バッファを扱うためのプロキシー (ラッパー). [詳細]

#include <buffer_proxy.hpp>

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

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

Public メソッド

 RemoteBufferProxy ()
 デフォルトコンストラクタ.
 RemoteBufferProxy (RemoteBufferHandle< T > *pBufHandle)
 配列バッファハンドル(インタフェースポインタ)をセットするコンストラクタ.
 ~RemoteBufferProxy ()
 デストラクタ -- 配列バッファを解放する.
void setBuffer (RemoteBufferHandle< T > *pBufHandle)
 配列バッファハンドル(インタフェースポインタ)をセットする.
 operator void * () const
 有効なインタフェースポインタかどうかチェックする
T * begin () const
 配列の先頭要素のポインタを得る
T * end () const
 配列の末尾(の次)の要素のポインタを得る
size_t size () const
 配列の要素数を得る

説明

template<class T>
class langedge::RemoteBufferProxy< T >

他の場所(DLLなど)で生成した配列バッファを扱うためのプロキシー (ラッパー).

RemoteBufferHandle<T>* のラッパークラス。
RemoteBufferHandle<T> は、DLLなど他の場所で生成された配列用バッファ (Tを要素型とする) を操作するためのインタフェースを定義したクラスであり、 常にポインタの形で用いられる。
setBuffer() によりインタフェースポインタをセットし、デストラクタで インタフェースポインタに対する解放処理を呼び出す。

使い方サンプル:

 {
     RemoteBufferProxy<int> bufProxy;
     // どこか別のところで配列バッファを生成し、そのインタフェースポインタをセット
     bufProxy.setBuffer( allocate_remote_buffer() );
     if (bufProxy) {
         // 有効なインタフェースポインタなら
         vector<int> iv( bufProxy.size() );
         // 先頭要素から末尾までをコピー
         copy( bufProxy.begin(), bufProxy.end(), iv.begin() );
     }
     // スコープを抜けるときに自動的に配列バッファを解放する
 }
例:

dll_sample_test.cpp.


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

template<class T>
langedge::RemoteBufferProxy< T >::RemoteBufferProxy  )  [inline]
 

デフォルトコンストラクタ.

template<class T>
langedge::RemoteBufferProxy< T >::RemoteBufferProxy RemoteBufferHandle< T > *  pBufHandle  )  [inline]
 

配列バッファハンドル(インタフェースポインタ)をセットするコンストラクタ.

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

デストラクタ -- 配列バッファを解放する.


関数

template<class T>
void langedge::RemoteBufferProxy< T >::setBuffer RemoteBufferHandle< T > *  pBufHandle  )  [inline]
 

配列バッファハンドル(インタフェースポインタ)をセットする.

引数:
pBufHandle バッファハンドルへのポインタ
覚え書き:
既にセットされていたバッファハンドルは解放される。

template<class T>
langedge::RemoteBufferProxy< T >::operator void *  )  const [inline]
 

有効なインタフェースポインタかどうかチェックする

template<class T>
T* langedge::RemoteBufferProxy< T >::begin  )  const [inline]
 

配列の先頭要素のポインタを得る

template<class T>
T* langedge::RemoteBufferProxy< T >::end  )  const [inline]
 

配列の末尾(の次)の要素のポインタを得る

template<class T>
size_t langedge::RemoteBufferProxy< T >::size  )  const [inline]
 

配列の要素数を得る


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