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
}
fl::shared_ptr
Definition
shared_ptr.h:155
fl::detail::make_shared_tag
Definition
shared_ptr.h:22
fl::forward
constexpr T && forward(typename remove_reference< T >::type &t) FL_NO_EXCEPT
Definition
type_traits.h:234
args
corkscrew_args args
Definition
old.h:149
fl
Generated on Sun Oct 4 2026 23:09:08 for FastLED by
1.13.2