FastLED 3.10.6
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 439 of file shared_ptr.h.

439 {
440 T* obj = new T(fl::forward<Args>(args)...);
441 if (obj == nullptr) {
442 return shared_ptr<T>(); // OOM — see make_shared
443 }
444 auto* control = new detail::ControlBlock<T, Deleter>(obj, d);
445 if (control == nullptr) {
446 d(obj);
447 return shared_ptr<T>(); // OOM — see make_shared
448 }
449 //new(control->get_object()) T(fl::forward<Args>(args)...);
450 //control->object_constructed = true;
451 return shared_ptr<T>(obj, control, detail::make_shared_tag{});
452}
constexpr T && forward(typename remove_reference< T >::type &t) FL_NO_EXCEPT
corkscrew_args args
Definition old.h:149