17 template<
typename T,
typename... Args>
20 return std::make_shared<T>(std::forward<Args>(args)...);
27 template<
typename T,
typename... Args>
30 return std::make_unique<T>(std::forward<Args>(args)...);
35 using weak = std::weak_ptr<T>;
std::shared_ptr< T > shared
std::unique_ptr< T > unique
constexpr shared< T > CreateShared(Args &&... args)
constexpr unique< T > CreateUnique(Args &&... args)