Destructors of collection classes from NCollection and math_Function are made virtual to allow safe destruction by pointer to base class.
Destructors of classes HatchGen_IntersectionPoint, IntCurveSurface_Intersection, Intf_Interference, IntRes2d_Intersection are made protected to avoid possibility of destructing by pointer to corresponding base class.
{
}
-//=======================================================================
-// Function : ~HatchGen_IntersectionPoint
-// Purpose : Destructor
-//=======================================================================
-
-HatchGen_IntersectionPoint::~HatchGen_IntersectionPoint()
-{
-}
-
-
//=======================================================================
// Function : SetIndex
// Purpose : Sets the index of the supporting curve.
//! Dump of the point on element.
Standard_EXPORT virtual void Dump (const Standard_Integer Index = 0) const = 0;
- Standard_EXPORT virtual ~HatchGen_IntersectionPoint();
-
-
-
protected:
-
//! Creates an empty intersection point.
Standard_EXPORT HatchGen_IntersectionPoint();
+ //! Destructor is protected for safer inheritance
+ ~HatchGen_IntersectionPoint() {}
+
+protected:
Standard_Integer myIndex;
Standard_Real myParam;
TopAbs_State myAfter;
Standard_Boolean mySegBeg;
Standard_Boolean mySegEnd;
-
-
-private:
-
-
-
-
-
};
-
-
-
-
-
-
#endif // _HatchGen_IntersectionPoint_HeaderFile
//! Dump all the fields.
Standard_EXPORT void Dump() const;
-
-
-
protected:
-
//! Empty Constructor;
Standard_EXPORT IntCurveSurface_Intersection();
+ //! Destructor is protected, for safe inheritance
+ ~IntCurveSurface_Intersection() {}
+
//! Internal method
//! copy the <Inter> fields to <me>
Standard_EXPORT void SetValues (const IntCurveSurface_Intersection& Inter);
IntRes2d_Intersection();
IntRes2d_Intersection(const IntRes2d_Intersection& Other);
+
+ //! Destructor is protected, for safe inheritance
+ ~IntRes2d_Intersection () {}
Standard_EXPORT void SetValues (const IntRes2d_Intersection& Inter);
protected:
-
+ //! Empty constructor
Standard_EXPORT Intf_Interference(const Standard_Boolean Self);
+ //! Destructor is protected, for safer inheritance
+ ~Intf_Interference () {}
+
//! Only one argument for the intersection.
Standard_EXPORT void SelfInterference (const Standard_Boolean Self);
const Handle(NCollection_BaseAllocator)& Allocator() const
{ return myAllocator; }
+ // ******** Destructor
+ // Purpose: defines virtual interface
+ virtual ~NCollection_BaseList (void)
+ {}
+
protected:
// --------- PROTECTED METHODS ----------
myAllocator = (theAllocator.IsNull() ? NCollection_BaseAllocator::CommonBaseAllocator() : theAllocator);
}
+ //! Destructor
+ virtual ~NCollection_BaseMap() {}
+
//! BeginResize
Standard_EXPORT Standard_Boolean BeginResize
(const Standard_Integer NbBuckets,
myAllocator = (theAllocator.IsNull() ? NCollection_BaseAllocator::CommonBaseAllocator() : theAllocator);
}
+ //! Destructor
+ virtual ~NCollection_BaseSequence() {}
+
Standard_EXPORT void ClearSeq (NCollection_DelSeqNode fDel);
Standard_EXPORT void PAppend (NCollection_SeqNode *);
Standard_EXPORT void PAppend (NCollection_BaseSequence& S);
myData = allocMemBlocks (myCapacity);
}
+ //! Destructor
+ virtual ~NCollection_BaseVector() {}
+
//! @return pointer to memory where to put the new item
Standard_EXPORT void* expandV (const Standard_Integer theIndex);
}
//! Destructor
- ~NCollection_DataMap (void)
+ virtual ~NCollection_DataMap (void)
{ Clear(); }
//! Size
}
//! Destructor
- ~NCollection_IndexedDataMap (void)
+ virtual ~NCollection_IndexedDataMap (void)
{ Clear(); }
//! Size
}
//! Destructor
- ~NCollection_IndexedMap (void)
+ virtual ~NCollection_IndexedMap (void)
{ Clear(); }
//! Size
{ PReverse(); }
//! Destructor - clears the List
- ~NCollection_List (void)
+ virtual ~NCollection_List (void)
{ Clear(); }
private:
}
//! Destructor
- ~NCollection_Map (void)
+ virtual ~NCollection_Map (void)
{ Clear(); }
//! Size
{ ChangeValue (theIndex) = theItem; }
// ******** Destructor - clears the Sequence
- ~NCollection_Sequence (void)
+ virtual ~NCollection_Sequence (void)
{ Clear(); }
private:
}
//! Destructor
- ~NCollection_Vector()
+ virtual ~NCollection_Vector()
{
for (Standard_Integer anItemIter = 0; anItemIter < myCapacity; ++anItemIter)
{
DEFINE_STANDARD_ALLOC
+ //! Virtual destructor, for safe inheritance
+ virtual ~math_Function () {}
//! Computes the value of the function <F> for a given value of
//! variable <X>.
//! to save the current state of the function and to return
//! an Integer that allows retrieval of the state.
Standard_EXPORT virtual Standard_Integer GetStateNumber();
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
};
-
-
-
-
-
-
#endif // _math_Function_HeaderFile