Open CASCADE Technology  7.1.0.beta
Data Structures

MMgt_TShared.hxx File Reference

#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Transient.hxx>

Data Structures

class  MMgt_TShared
 Intermediate class between Standard_Transient and descendants. The abstract class TShared is the root class of managed objects. TShared objects are managed by a memory manager based on reference counting. They have handle semantics. In other words, the reference counter is transparently incremented and decremented according to the scope of handles. When all handles, which reference a single object are out of scope, the reference counter becomes null and the object is automatically deleted. The deallocated memory is not given back to the system though. It is reclaimed for new objects of the same size. Warning This memory management scheme does not work for cyclic data structures. In such cases (with back pointers for example), you should interrupt the cycle in a class by using a full C++ pointer instead of a handle. More...