boost::movelib::make_unique
// In header: <boost/move/make_unique.hpp> template<typename T, class... Args> unique_ptr< T > make_unique(Args &&... args);
Remarks: This function shall not participate in overload resolution unless T is not an array.
Returns: unique_ptr<T>(new T(std::forward<Args>(args)...)).
unique_ptr<T>(new T(std::forward<Args>(args)...))