クラス テンプレート langedge::BlockAllocator< BS, LM >

ブロックアロケータ あらかじめ大きなメモリブロックを確保しておき、メモリ割り当て要求があれば、 そこから要求されたサイズのブロックを提供する。 確保しておいたメモリブロックに空きが無くなれば、新たなブロックを 確保する。 [詳細]

#include <memutil.hpp>

すべてのメンバ一覧

Public メソッド

 BlockAllocator ()
 コンストラクタ (初期化)
 ~BlockAllocator ()
 デストラクタ (メモリバッファの解放)
void * allocate (size_t size)
 メモリブロックの割当て.
void release ()
 メモリブロックのリリース.

フレンド

class MemUtilTestCase
 単体テストクラス


説明

template<size_t BS = 0x10000, size_t LM = 0x80000000>
class langedge::BlockAllocator< BS, LM >

ブロックアロケータ あらかじめ大きなメモリブロックを確保しておき、メモリ割り当て要求があれば、 そこから要求されたサイズのブロックを提供する。 確保しておいたメモリブロックに空きが無くなれば、新たなブロックを 確保する。

引数:
BS 一度に確保するメモリバッファのサイズ (デフォルト: 64K)
LM メモリバッファのサイズの合計の制限値 (デフォルト: 2G)


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

template<size_t BS = 0x10000, size_t LM = 0x80000000>
langedge::BlockAllocator< BS, LM >::BlockAllocator  )  [inline]
 

コンストラクタ (初期化)

template<size_t BS = 0x10000, size_t LM = 0x80000000>
langedge::BlockAllocator< BS, LM >::~BlockAllocator  )  [inline]
 

デストラクタ (メモリバッファの解放)


関数

template<size_t BS, size_t LM>
void * langedge::BlockAllocator< BS, LM >::allocate size_t  size  ) 
 

メモリブロックの割当て.

引数:
size 割当てを要求するサイズ
戻り値:
確保されたブロックのポインタ
事後条件:
最低でも 4バイトは確保される。また、4バイト境界でアラインメントされる。

template<size_t BS, size_t LM>
void langedge::BlockAllocator< BS, LM >::release  ) 
 

メモリブロックのリリース.

確保した全ブロックを解放する


フレンドと関連する関数

template<size_t BS = 0x10000, size_t LM = 0x80000000>
friend class MemUtilTestCase [friend]
 

単体テストクラス


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