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

◆ make_shared_with_deleter()

template<typename T, typename Deleter, typename... Args>
shared_ptr< T > fl::make_shared_with_deleter ( Deleter d,
Args &&... args )

Definition at line 449 of file shared_ptr.h.

449 {
450 T* obj = new T(fl::forward<Args>(args)...);
451 if (obj == nullptr) {
452 return shared_ptr<T>(); // OOM — see make_shared
453 }
454 auto* control = new detail::ControlBlock<T, Deleter>(obj, d);
455 if (control == nullptr) {
456 d(obj);
457 return shared_ptr<T>(); // OOM — see make_shared
458 }
459 //new(control->get_object()) T(fl::forward<Args>(args)...);
460 //control->object_constructed = true;
461 return shared_ptr<T>(obj, control, detail::make_shared_tag{});
462}
constexpr T && forward(typename remove_reference< T >::type &t) FL_NO_EXCEPT
Definition s16x16x4.h:236
corkscrew_args args
Definition old.h:149