19 template <
typename... Args>
static std::shared_ptr<T> make(Args &&...args) {
20 return std::shared_ptr<T>(
new T(std::forward<Args>(args)...));
27 template <
typename... Args>
static std::unique_ptr<T> make(Args &&...args) {
28 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));