boost::pool<> コンストラクターは「要素サイズ」パラメーターを取ります。
boost::object_pool コンストラクターは、「要素の初期数」パラメーターを取ります。
「要素サイズS」「要素の頭文字N」でプールを作成したい。
これは boost::pool で可能ですか?
ありがとうございました
boost::pool<> コンストラクターは「要素サイズ」パラメーターを取ります。
boost::object_pool コンストラクターは、「要素の初期数」パラメーターを取ります。
「要素サイズS」「要素の頭文字N」でプールを作成したい。
これは boost::pool で可能ですか?
ありがとうございました
あなたはそれを行うことができますobject_pool
; テンプレート パラメーターに基づいて要素のサイズを推測するElementType
ため、サイズを明示的に指定する必要はありません。要求されたチャンク数 (「N」) を追加のコンストラクター パラメーターとして指定できます。
OP コメントに基づく更新:
boost::pool
ソースから:
explicit pool(const size_type nrequested_size,
const size_type nnext_size = 32)
したがって、これを行うことができます:
boost::pool<> p(8 * sizeof(int), 64);
サイズ 8 int のチャンクを返し、64 * 8 int の初期割り当てを行うプールが必要な場合。チャンクの初期割り当てを超えると、ストレージは 2 倍になります。