#include <buffer_proxy.hpp>
langedge::RemoteBufferProxy< T >のコラボレーション図

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 |
| 配列の要素数を得る | |
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() );
}
// スコープを抜けるときに自動的に配列バッファを解放する
}
|
|||||||||
|
デフォルトコンストラクタ.
|
|
||||||||||
|
配列バッファハンドル(インタフェースポインタ)をセットするコンストラクタ.
|
|
|||||||||
|
デストラクタ -- 配列バッファを解放する.
|
|
||||||||||
|
配列バッファハンドル(インタフェースポインタ)をセットする.
|
|
|||||||||
|
有効なインタフェースポインタかどうかチェックする
|
|
|||||||||
|
配列の先頭要素のポインタを得る
|
|
|||||||||
|
配列の末尾(の次)の要素のポインタを得る
|
|
|||||||||
|
配列の要素数を得る
|
1.4.2