SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送
メインページ   名前空間一覧   クラス階層   構成   ファイル一覧   名前空間メンバ   構成メンバ   ファイルメンバ  

クラス dkutil::memory::dKingyoFrameMemory の解説

フレームベースのメモリ管理 コレさえあればメモリブロック?の分割が防げるかも!? [詳細]

#include <dKingyoFrameMemory.h>

すべてのメンバ一覧

Public メソッド

 dKingyoFrameMemory ()
int Construct (size_t bytesize)
 このクラスを初期化,構築する

int Destruct ()
 終了処理 もちろんデストラクタ内でも呼ばれます。

virtual ~dKingyoFrameMemory ()
void * SeekMemory (void *get, DWORD seekbyte)
size_t FrameFreeSize ()
 クラス内部のフレームメモリの使用可能サイズ(byte単位)を返す

bool isOK ()
 このクラスが使用可能かどうかを返す

DWORD FrameNum ()
 AttachFrameして成功した回数を返す.

size_t FrameMaxSize ()
 クラス内部のフレームメモリの最大容量のサイズ(byte単位)を返す

size_t FrameUseSize ()
 クラス内部のフレームメモリの使用済みのサイズ(byte単位)を返す

int AttachFrame (void *mem, size_t size, DWORD ID, VOIDFUNC ReleaseFunc, char *error_str="no comment")
 クラス内部のフレームメモリに内容をコピーする

int PopTailFrame (char *error_str="no comment")
 最後にAttachFrameしたメモリ領域を開放する

int ReleaseList (DWORD count=0)
 フレームメモリにAttachFrameした内容を削除する

char * Sarch (DWORD ID)
 AttachFrameで指定したIDを元にそのデータへのアドレスを返す。.

char * Data ()
 フレーム内のメモリ領域へのポインタをゲットしちゃう恐ろしい関数。使わないでくれ!


Protected 型

typedef std::list< tugdKingyoFrameMemoryFRAME_LIST
 tugdKIngyoFrameMemoryについてはdkutil_DataStruct.hを見るべし!


Protected メソッド

bool DestructorExecution (const tugdKingyoFrameMemory *get)

Protected 変数

FRAME_LIST m_list
char * m_frame
size_t m_maxbyte
size_t m_nowbyte


解説

フレームベースのメモリ管理 コレさえあればメモリブロック?の分割が防げるかも!?

参考文献

基本的にグローバル変数代わりに使う。


Typedef の解説

typedef std::list<tugdKingyoFrameMemory > dkutil::memory::dKingyoFrameMemory::FRAME_LIST [protected]
 

tugdKIngyoFrameMemoryについてはdkutil_DataStruct.hを見るべし!


コンストラクタとデストラクタの解説

dkutil::memory::dKingyoFrameMemory::dKingyoFrameMemory  )  [inline]
 

virtual dkutil::memory::dKingyoFrameMemory::~dKingyoFrameMemory  )  [inline, virtual]
 


メソッドの解説

int dkutil::memory::dKingyoFrameMemory::AttachFrame void *  mem,
size_t  size,
DWORD  ID,
VOIDFUNC  ReleaseFunc,
char *  error_str = "no comment"
[inline]
 

クラス内部のフレームメモリに内容をコピーする

引数:
mem[in] コピーするメモリのアドレス
size[in] コピーするメモリのサイズ
ID[in] 内部フレームの情報を参照する時のID(0以外のunsigned longで指定 詳しくは注意参照)
ReleaseFunc[in] コピーしたメモリを開放する時に使用するVOIDFUNC型の関数へのポインタ いわいるデストラクタ
error_str="no comment"[in] デバッグ文字列(将来的に有効になる予定) 注意:引数のIDにはenumを使うと便利です。
といいますか、以下のようにしてください!
以下のようにします
enum{ enuID1 = 1, enuID2, enuID3, ...以下略 };
こんな感じです。IDに0を入れるとエラーとしてこの関数は成功しません。

int dkutil::memory::dKingyoFrameMemory::Construct size_t  bytesize  )  [inline]
 

このクラスを初期化,構築する

引数:
bytesize[in] 確保するメモリのサイズ(byte単位) 注意:確保するメモリのサイズは二度と増えることはない(動的に拡張はされない)ので気をつけてください。
なぉ、何故、動的に増えるようにしないかというとグローバル変数の代わりにするので、 このクラスの内部に保存されているメモリ領域のポインタを参照した場合 マルチスレッド等の環境で最悪のケース
(ポインタを参照した時スレッドが切り替わり、動的拡張を行い、メモリアドレスを変えてしまう行為) を想定しているからです。

char* dkutil::memory::dKingyoFrameMemory::Data  )  [inline]
 

フレーム内のメモリ領域へのポインタをゲットしちゃう恐ろしい関数。使わないでくれ!

int dkutil::memory::dKingyoFrameMemory::Destruct  )  [inline]
 

終了処理 もちろんデストラクタ内でも呼ばれます。

bool dkutil::memory::dKingyoFrameMemory::DestructorExecution const tugdKingyoFrameMemory get  )  [inline, protected]
 

size_t dkutil::memory::dKingyoFrameMemory::FrameFreeSize  )  [inline]
 

クラス内部のフレームメモリの使用可能サイズ(byte単位)を返す

size_t dkutil::memory::dKingyoFrameMemory::FrameMaxSize  )  [inline]
 

クラス内部のフレームメモリの最大容量のサイズ(byte単位)を返す

DWORD dkutil::memory::dKingyoFrameMemory::FrameNum  )  [inline]
 

AttachFrameして成功した回数を返す.

size_t dkutil::memory::dKingyoFrameMemory::FrameUseSize  )  [inline]
 

クラス内部のフレームメモリの使用済みのサイズ(byte単位)を返す

bool dkutil::memory::dKingyoFrameMemory::isOK  )  [inline]
 

このクラスが使用可能かどうかを返す

int dkutil::memory::dKingyoFrameMemory::PopTailFrame char *  error_str = "no comment"  )  [inline]
 

最後にAttachFrameしたメモリ領域を開放する

int dkutil::memory::dKingyoFrameMemory::ReleaseList DWORD  count = 0  )  [inline]
 

フレームメモリにAttachFrameした内容を削除する

引数:
count=0[in] PopTailFrameを呼び出す回数を指定する。countが0だと内容をすべて削除する。

char* dkutil::memory::dKingyoFrameMemory::Sarch DWORD  ID  )  [inline]
 

AttachFrameで指定したIDを元にそのデータへのアドレスを返す。.

引数:
ID[in] AttachFrameで使用したIDを渡す
戻り値:
IDに関連付けられたアドレス NULLだと失敗("引数のID"が無効な識別子の可能性有り) 注意:毎回Sarchで検索するのはやめたほうがいいです。
IDで検索して得たポインタを保持して使ってください。

void* dkutil::memory::dKingyoFrameMemory::SeekMemory void *  get,
DWORD  seekbyte
[inline]
 


変数の解説

char* dkutil::memory::dKingyoFrameMemory::m_frame [protected]
 

FRAME_LIST dkutil::memory::dKingyoFrameMemory::m_list [protected]
 

size_t dkutil::memory::dKingyoFrameMemory::m_maxbyte [protected]
 

size_t dkutil::memory::dKingyoFrameMemory::m_nowbyte [protected]
 


このクラスの解説は次のファイルから生成されました:
dKingyoUtilClass (dkutil)に対してMon Jun 9 01:33:45 2003に生成されました。 doxygen1.3