25 #include <type_traits> 54 return std::shared_ptr<T>(x, [](
T *) {});
58 std::shared_ptr<T const>
shareRaw(
T const *x)
60 return std::shared_ptr<T const>(x, [](
T const *) {});
65 -> std::shared_ptr<
typename std::remove_pointer<decltype(c.data())>::type>
67 using value_type =
typename std::remove_pointer<decltype(c.data())>::type;
68 return std::shared_ptr<value_type>(c.data(), [](value_type *) {});
73 -> std::shared_ptr<
typename std::remove_pointer<decltype(c.data())>::type>
75 using value_type =
typename std::remove_pointer<decltype(c.data())>::type;
76 return std::shared_ptr<value_type>(c.data(), [](value_type *) {});
std::shared_ptr< T > shareRaw(T *x)
Share ownership with a raw pointer.
Definition: ShareRaw.hpp:49