23 throw(std::invalid_argument, std::bad_alloc);
55 throw(std::invalid_argument, std::bad_alloc)
58 throw std::invalid_argument(
"Chunk size cannot be <= 0");
59 mChunkSize = chunkSize;
65 if (mFreeList.empty())
67 auto obj = mFreeList.front();
75 for (
size_t i = 0; i < mChunkSize; ++i)
76 mFreeList.push(std::make_shared<T>());