0025545: TopLoc_Location::Transformation() provokes data races
[occt.git] / src / TopLoc / TopLoc_SListOfItemLocation.lxx
index cfc2839..5766917 100644 (file)
 // commercial license or contractual agreement.
 
 //=======================================================================
 // commercial license or contractual agreement.
 
 //=======================================================================
-//function : IsEmpty
+//function : TopLoc_SListOfItemLocation
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
-inline Standard_Boolean TopLoc_SListOfItemLocation::IsEmpty() const
-{
-  return myNode.IsNull();
-}
+inline TopLoc_SListOfItemLocation::TopLoc_SListOfItemLocation()
+{}
 
 //=======================================================================
 
 //=======================================================================
-//function : Construct
+//function : TopLoc_SListOfItemLocation
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
+inline TopLoc_SListOfItemLocation::TopLoc_SListOfItemLocation(const TopLoc_SListOfItemLocation& Other) : 
+       myNode(Other.myNode)
+{
+}
+
 //=======================================================================
 //=======================================================================
-//function : Construct
+//function : IsEmpty
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
-inline void TopLoc_SListOfItemLocation::Construct(const TopLoc_ItemLocation& anItem)
+inline Standard_Boolean TopLoc_SListOfItemLocation::IsEmpty() const
 {
 {
-  Assign(TopLoc_SListOfItemLocation(anItem,*this));
+  return myNode.IsNull();
 }
 
 //=======================================================================
 }
 
 //=======================================================================
-//function : Constructed
+//function : Clear
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
-inline TopLoc_SListOfItemLocation TopLoc_SListOfItemLocation::Constructed(const TopLoc_ItemLocation& anItem) const
+inline void TopLoc_SListOfItemLocation::Clear()
 {
 {
-  return TopLoc_SListOfItemLocation(anItem,*this);
+  if (!myNode.IsNull()) {
+    myNode.Nullify();
+  }
 }
 
 //=======================================================================
 }
 
 //=======================================================================
-//function : ToTail
+//function : Construct
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
-inline void TopLoc_SListOfItemLocation::ToTail()
+inline void TopLoc_SListOfItemLocation::Construct(const TopLoc_ItemLocation& anItem)
 {
 {
-  Assign(Tail());
+  Assign(TopLoc_SListOfItemLocation(anItem,*this));
 }
 
 //=======================================================================
 }
 
 //=======================================================================
-//function : Initialize
+//function : ToTail
 //purpose  : 
 //=======================================================================
 
 //purpose  : 
 //=======================================================================
 
-inline void TopLoc_SListOfItemLocation::Initialize(const TopLoc_SListOfItemLocation& aList)
+inline void TopLoc_SListOfItemLocation::ToTail()
 {
 {
-  Assign(aList);
+  Assign(Tail());
 }
 
 //=======================================================================
 }
 
 //=======================================================================