| 132 | } |
| 133 | |
| 134 | bool SharedBuffer::ensureCapacity(size_t size, std::nothrow_t) noexcept { |
| 135 | SharedBufferImpl *p = pImpl.get(); |
| 136 | if (p == nullptr) { |
| 137 | p = new SharedBufferImpl(); |
| 138 | pImpl.reset(p); |
| 139 | return p->resetSize(size, false); |
| 140 | } else { |
| 141 | if (p->size() < size) { |
| 142 | return p->resetSize(size, true); |
| 143 | } else { |
| 144 | return true; |
| 145 | } |
| 146 | } |
| 147 | } |
| 148 | |
| 149 | bool SharedBuffer::resetSize(size_t size, bool keepContent) noexcept { |
| 150 | SharedBufferImpl *p = pImpl.get(); |