Add type check for std::unique_ptr in <memory>.
Add type check for std::unique_ptr in <memory>.
Refactor code to support the unavailability of std::unique_ptr.
Merge branch 'hotfix/1.4.1.1'