Use unique_ptr instead of auto_ptr if possible.