When I am using the private implementation idiom, is there anything to be gained by using a boost::scoped_ptr as opposed to a auto_ptr? I confess I'm not that clear on the differences...