]> OCCT Git - occt.git/commitdiff
0028853: TDF_AttributeIterator should give handles instead of pointers
authormpv <mpv@opencascade.com>
Mon, 26 Jun 2017 12:41:09 +0000 (15:41 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 29 Jun 2017 11:25:00 +0000 (14:25 +0300)
Make "Value" method of the iterator return Handle (instead of pointer) to unify public interfaces.

src/TDF/TDF_AttributeIterator.hxx
src/TDF/TDF_Data.cxx

index 4a1c831e17f38322e4c691e5507f6c34bf8b5c18..fa8622c5832eef0b067817e8c741010b696b72f6 100644 (file)
@@ -59,7 +59,7 @@ public:
      const Standard_Boolean withoutForgotten = Standard_True) ;
   inline   Standard_Boolean More() const;
   Standard_EXPORT   void Next() ;
-  inline   TDF_Attribute * Value() const;
+  inline   Handle(TDF_Attribute) Value() const;
 
 
 protected:
@@ -92,7 +92,7 @@ private:
 inline Standard_Boolean TDF_AttributeIterator::More() const
 { return (myValue != 0L); }
 
-inline TDF_Attribute * TDF_AttributeIterator::Value() const
+inline Handle(TDF_Attribute) TDF_AttributeIterator::Value() const
 { return myValue; }
 
 #endif
index e9f232bac663f5d4284ff5202647365a2091b80b..9920c7338e31d8bcb0a8c00bade54b4297ed0591 100644 (file)
@@ -216,7 +216,7 @@ Standard_Integer TDF_Data::CommitTransaction
 
     TDF_AttributeIterator itr1(aLabel, Standard_False);
     while (itr1.More()) {
-      TDF_Attribute * aPtrCurrentAtt = itr1.Value();
+      Handle(TDF_Attribute) aPtrCurrentAtt = itr1.Value();
       itr1.Next();
       //      currentAtt = itr1.Value();
 
@@ -297,7 +297,7 @@ Standard_Integer TDF_Data::CommitTransaction
         }
         // --------------------------------------------------------- Modified.
         else {
-          const TDF_Attribute* anAttrPtr = aPtrCurrentAtt; // to avoid ambiguity
+          const TDF_Attribute* anAttrPtr = aPtrCurrentAtt.operator->(); // to avoid ambiguity
           TDF_Data_DeltaCreation
             ("Modification",
              anAttrPtr->DeltaOnModification(backupAtt));