24 #include <flw/cmn/pointers/PointerProtected.h> 25 #include <flw/cmn/pointers/PointerCache.h> 33 using pu = std::unique_ptr<T>;
36 using pn = std::unique_ptr<T, void(*)(T*)>;
39 using ps = std::shared_ptr<T>;
42 using pc = PointerCache<T>;
44 template <
typename T,
typename... Args>
45 pu<T> make_pu(Args&&... args) {
46 return std::make_unique<T>(std::forward<Args>(args)...);
50 pn<T> make_pu_with_no_ownership(T* ptr) {
51 return pn<T>(ptr, [](T*){});
55 using Callback = std::function<T>;