auto_ptr_ref documentation here says this
This is an instrumental class to allow certain conversions that allow auto_ptr objects to be passed to and returned
I just found a very good link and a name for this technique "Move Constructors" or "Colvin-Gibbons trick"
http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Move_Constructor