boost::movelib::make_unique
// In header: <boost/move/make_unique.hpp> template<typename T, Args> unique_ptr< ( 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)...))