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

◆ reallocate()

template<typename T>
pointer fl::allocator_realloc< T >::reallocate ( pointer ptr,
fl::size old_count,
fl::size new_count )
inline

Definition at line 362 of file allocator.h.

362 {
363 if (new_count == 0) {
364 if (ptr) {
366 }
367 return nullptr;
368 }
369
370 // Use fl::realloc() for in-place resize
371 void* result = fl::realloc(ptr, new_count * sizeof(T));
372 if (!result) {
373 return nullptr; // Realloc failed
374 }
375
376 T* new_ptr = static_cast<T*>(result);
377
378 // Zero-initialize any newly allocated memory
379 if (new_count > old_count) {
380 fl::memset(new_ptr + old_count, 0, (new_count - old_count) * sizeof(T));
381 }
382
383 return new_ptr;
384 }
void deallocate(T *p, fl::size n) FL_NOEXCEPT
Definition allocator.h:320
void * memset(void *s, int c, size_t n) FL_NOEXCEPT
void * realloc(void *ptr, size_t new_size)