comparison Framework/Scene2D/Scene2D.cpp @ 1298:8a0a62189f46

replacing std::auto_ptr by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Mar 2020 16:31:30 +0100
parents 2d8ab34c8c91
children 257f2c9a02ac 1e4878ed1d77
comparison
equal deleted inserted replaced
1296:86400fa16091 1298:8a0a62189f46
27 namespace OrthancStone 27 namespace OrthancStone
28 { 28 {
29 class Scene2D::Item 29 class Scene2D::Item
30 { 30 {
31 private: 31 private:
32 std::auto_ptr<ISceneLayer> layer_; 32 std::unique_ptr<ISceneLayer> layer_;
33 uint64_t identifier_; 33 uint64_t identifier_;
34 34
35 public: 35 public:
36 Item(ISceneLayer* layer, 36 Item(ISceneLayer* layer,
37 uint64_t identifier) : 37 uint64_t identifier) :
103 103
104 void Scene2D::SetLayer(int depth, 104 void Scene2D::SetLayer(int depth,
105 ISceneLayer* layer) // Takes ownership 105 ISceneLayer* layer) // Takes ownership
106 { 106 {
107 LOG(TRACE) << "SetLayer(" << depth << ", " << reinterpret_cast<intptr_t>(layer) << ")"; 107 LOG(TRACE) << "SetLayer(" << depth << ", " << reinterpret_cast<intptr_t>(layer) << ")";
108 std::auto_ptr<Item> item(new Item(layer, layerCounter_++)); 108 std::unique_ptr<Item> item(new Item(layer, layerCounter_++));
109 109
110 if (layer == NULL) 110 if (layer == NULL)
111 { 111 {
112 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); 112 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
113 } 113 }
191 } 191 }
192 else 192 else
193 { 193 {
194 assert(found->second != NULL); 194 assert(found->second != NULL);
195 195
196 std::auto_ptr<ISceneLayer> layer(found->second->ReleaseLayer()); 196 std::unique_ptr<ISceneLayer> layer(found->second->ReleaseLayer());
197 assert(layer.get() != NULL); 197 assert(layer.get() != NULL);
198 198
199 content_.erase(found); 199 content_.erase(found);
200 200
201 return layer.release(); 201 return layer.release();