FastLED 3.9.15
Loading...
Searching...
No Matches

◆ reset()

template<typename T, typename Alloc = fl::allocator<T>>
void fl::scoped_array2< T, Alloc >::reset ( size_t new_size = 0)
inline

Definition at line 239 of file scoped_ptr.h.

239 {
240 if (arr_) {
241 // Call destructor on each element
242 for (size_t i = 0; i < size_; ++i) {
243 // arr_[i].~T();
244 mAlloc.destroy(&arr_[i]);
245 }
246 // ::operator delete(arr_);
247 mAlloc.deallocate(arr_, size_);
248 arr_ = nullptr;
249 }
250
251 size_ = new_size;
252 if (new_size > 0) {
253 // arr_ = static_cast<T*>(::operator new(new_size * sizeof(T)));
254 arr_ = mAlloc.allocate(new_size);
255 // Default initialize each element
256 for (size_t i = 0; i < new_size; ++i) {
257 // new (&arr_[i]) T();
258 mAlloc.construct(&arr_[i]);
259 }
260 }
261 }

References arr_, mAlloc, and size_.

Referenced by operator=().

+ Here is the caller graph for this function: