Use std::tr1::shared_ptr rather than boost