Using std::unique_ptr to replace std::auto_ptr in yaml