Replacing the boost smart pointers with std::shared_ptr, which requires C++11 compatibility.