diff OrthancStone/Sources/Scene2DViewport/MeasureCommands.h @ 1791:9b650ab68d4c

replaced unneeded use of boost::share_ptr for MeasureCommand mementos by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 May 2021 16:11:17 +0200
parents 9ac2a65d4172
children 3889ae96d2e9
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/MeasureCommands.h	Mon May 17 13:57:25 2021 +0200
+++ b/OrthancStone/Sources/Scene2DViewport/MeasureCommands.h	Mon May 17 16:11:17 2021 +0200
@@ -84,9 +84,14 @@
     /** Must be implemented by the subclasses that edit the actual tool */
     virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0;
 
+    /** This memento is updated by the subclasses upon modifications */
+    std::unique_ptr<MeasureToolMemento> mementoModified_;
+    
+    /** This memento is the original object state */
+    std::unique_ptr<MeasureToolMemento> mementoOriginal_;
+
   protected:
-    /** This memento is updated by the subclasses upon modifications */
-    boost::shared_ptr<MeasureToolMemento> mementoModified_;
+    void SetMementoModified(MeasureToolMemento* memento);  // takes ownership
 
   public:
     EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
@@ -97,9 +102,8 @@
     virtual void Undo() ORTHANC_OVERRIDE;
 
     virtual void Redo() ORTHANC_OVERRIDE;
-    
-    /** This memento is the original object state */
-    boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
+
+    const MeasureToolMemento& GetMementoOriginal() const;
   };
 
   
@@ -114,9 +118,14 @@
 
     boost::shared_ptr<MeasureTool> measureTool_;
 
+    /** This memento is updated by the subclasses upon modifications */
+    std::unique_ptr<MeasureToolMemento> mementoModified_;
+
+    /** This memento is the original object state */
+    std::unique_ptr<MeasureToolMemento> mementoOriginal_;
+
   protected:
-    /** This memento is updated by the subclasses upon modifications */
-    boost::shared_ptr<MeasureToolMemento> mementoModified_;
+    void SetMementoModified(MeasureToolMemento* memento);  // takes ownership
 
   public:
     DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
@@ -128,8 +137,7 @@
     
     virtual void Redo() ORTHANC_OVERRIDE;
 
-    /** This memento is the original object state */
-    boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
+    const MeasureToolMemento& GetMementoOriginal() const;
   };
 }