FastLED 3.10.8
Loading...
Searching...
No Matches

◆ make_shared_array()

template<typename T>
shared_ptr< T > fl::make_shared_array ( size_t n)

Definition at line 474 of file shared_ptr.h.

474 {
475 T* arr = new T[n](); // Zero-initialize the array
476 if (arr == nullptr) {
477 return shared_ptr<T>(); // OOM — see make_shared
478 }
479 auto* control = new detail::ControlBlock<T, detail::array_delete<T>>(arr, detail::array_delete<T>{});
480 if (control == nullptr) {
481 delete[] arr;
482 return shared_ptr<T>(); // OOM — see make_shared
483 }
484 return shared_ptr<T>(arr, control, detail::make_shared_tag{});
485}