| 70 | } |
| 71 | |
| 72 | void reserve(PxU32 capacity) |
| 73 | { |
| 74 | if (capacity > mCapacity) |
| 75 | { |
| 76 | PxU32 nbSlabsRequired = (capacity + mSlabSize - 1) / mSlabSize; |
| 77 | |
| 78 | PxU32 nbSlabsToAllocate = nbSlabsRequired - mBlocks.size(); |
| 79 | |
| 80 | mCapacity += nbSlabsToAllocate * mSlabSize; |
| 81 | |
| 82 | for (PxU32 a = 0; a < nbSlabsToAllocate; ++a) |
| 83 | { |
| 84 | mBlocks.pushBack(reinterpret_cast<T*>(PX_ALLOC(sizeof(T) * mSlabSize, PX_DEBUG_EXP("BlockArray")))); |
| 85 | } |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | void resize(PxU32 size) |
| 90 | { |