TNB Library
|
共有構造体管理テンプレート [詳解]
#include <TnbSharedMemory.h>
クラス | |
struct | IListener |
共有構造体管理のリスナーインターフェース [詳解] | |
公開メンバ関数 | |
void | Close (IListener *piListener=NULL) |
[操作] クローズ [詳解] | |
CSharedStructT (bool boCanClose=true) | |
コンストラクタ [詳解] | |
bool | HasMemory (void) const |
[確認] 共有メモリの有無 [詳解] | |
bool | Open (LPCTSTR lpMemName=NULL, IListener *piListener=NULL) |
[操作] オープン [詳解] | |
operator const TYP * (void) const | |
[取得] メモリの参照. [詳解] | |
operator TYP * (void) | |
[取得] メモリの参照. [詳解] | |
TYP * | operator-> (void) |
[取得] メモリの参照. [詳解] | |
const TYP * | operator-> (void) const |
[取得] メモリの参照. [詳解] | |
virtual | ~CSharedStructT (void) |
デストラクタ [詳解] | |
共有構造体管理テンプレート
一つの指定の構造体型の共有メモリを保持します。 オープン時リスナー( IListener )を指定することで、初めてのオープンの時だけ 共有メモリの初期化ができます。 Openしたインスタンスは指定した型のポインタとして操作が可能です。
TYP | 共有メモリにおく構造体( 'operator→' を使っているので intなどは使えません) |
struct ISM : CSharedMemoryT<Bool>::IListener { virtual void OnAction(Bool* P) { *P = false; } } ism; CSharedMemoryT<Bool> ll1; CSharedMemoryT<Bool> ll2; ll1.Open( _T("AAA"), &ism ); ll2.Open( _T("AAA"), &ism ); //同じ共有メモリ名なのでリスナーは呼ばれない ASSERT( ll2->IsFalse() ); //(TYPのポインタと同じ記述が可能) (*ll1) = true; ASSERT( ll2->IsTrue() ); //同じメモリを指しているので影響がある |
TnbSharedMemory.h の 214 行目に定義があります。
|
explicit |
コンストラクタ
boCanClose | false ならクローズ時共有メモリを閉じない。trueか省略なら閉じる。 |
TnbSharedMemory.h の 261 行目に定義があります。
|
virtual |
デストラクタ
TnbSharedMemory.h の 268 行目に定義があります。
void Close | ( | IListener * | piListener = NULL | ) |
[操作] クローズ
piListener | リスナー。省略可能。指定すると破棄直前にOnActionがコールされます。 ただし、コンストラクタで boCanClose に false を指定していると、最後の クローズはしないので、OnAction()は絶対コールされません。 |
TnbSharedMemory.h の 373 行目に定義があります。
bool HasMemory | ( | void | ) | const |
bool Open | ( | LPCTSTR | lpMemName = NULL , |
IListener * | piListener = NULL |
||
) |
[操作] オープン
lpMemName | 共有メモリ名。 省略するとインスタンス内のみ有効な共有メモリになります。 他のTYPと同じ名前にならないようにしてください。 |
piListener | リスナー。省略可能。指定すると初めてOpenした時に OnAction がコールされます。 |
true | 成功 |
false | 失敗 |
TnbSharedMemory.h の 336 行目に定義があります。
operator const TYP * | ( | void | ) | const |
operator TYP * | ( | void | ) |
TYP * operator-> | ( | void | ) |
const TYP * operator-> | ( | void | ) | const |