C++11 unique_ptr backwards compatibility for C++03 compilers