@@ -30,7 +30,7 @@ BackendManager::~BackendManager() {
3030// initialize backend manager
3131string BackendManager::ng_backend_name_ = " CPU" ;
3232mutex BackendManager::ng_backend_name_mutex_;
33- map<string, Backend* > BackendManager::ng_backend_map_;
33+ map<string, std::unique_ptr< Backend> > BackendManager::ng_backend_map_;
3434mutex BackendManager::ng_backend_map_mutex_;
3535map<std::string, int > BackendManager::ref_count_each_backend_;
3636
@@ -49,7 +49,6 @@ Status BackendManager::CreateBackend(const string& backend_name) {
4949 auto itr = BackendManager::ng_backend_map_.find (backend_name);
5050 // if backend does not exist create it
5151 if (itr == BackendManager::ng_backend_map_.end ()) {
52- Backend* bend = new Backend;
5352 std::shared_ptr<ng::runtime::Backend> bend_ptr;
5453 try {
5554 bend_ptr = ng::runtime::Backend::create (backend_name);
@@ -62,8 +61,9 @@ Status BackendManager::CreateBackend(const string& backend_name) {
6261 return errors::Internal (" Could not create backend of type " ,
6362 backend_name);
6463 }
64+ std::unique_ptr<Backend> bend = std::unique_ptr<Backend>(new Backend);
6565 bend->backend_ptr = std::move (bend_ptr);
66- BackendManager::ng_backend_map_[backend_name] = bend;
66+ BackendManager::ng_backend_map_[backend_name] = std::move ( bend) ;
6767 BackendManager::ref_count_each_backend_[backend_name] = 0 ;
6868 }
6969 BackendManager::ref_count_each_backend_[backend_name]++;
0 commit comments