.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.RefCounter: ========================================================================================================================================== |phoenix_title| **wx.RefCounter** ========================================================================================================================================== This class is used to manage reference-counting providing a simple interface and a counter. :ref:`wx.RefCounter` can be easily used together with `wx.ObjectDataPtr` to ensure that no calls to :meth:`wx.RefCounter.DecRef` are missed - thus avoiding memory leaks. `wx.ObjectRefData` is a typedef to :ref:`wx.RefCounter` and is used as the built-in reference counted storage for Object-derived classes. .. seealso:: :ref:`wx.Object`, `wx.ObjectRefData` , `wx.ObjectDataPtr` , :ref:`Reference Counting ` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class RefCounter:
| |sub_classes| Known Subclasses ============================== :ref:`wx.BitmapBundleImpl`, :ref:`wx.dataview.DataViewModel`, :ref:`wx.grid.GridCellAttr`, :ref:`wx.grid.GridCellEditor`, :ref:`wx.grid.GridCellRenderer` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.RefCounter.__init__` Default constructor. :meth:`~wx.RefCounter.DecRef` Decrements the reference count associated with this shared data and, if it reaches zero, destroys this instance of :ref:`wx.RefCounter` releasing its memory. :meth:`~wx.RefCounter.GetRefCount` Returns the reference count associated with this shared data. :meth:`~wx.RefCounter.IncRef` Increments the reference count associated with this shared data. :meth:`~wx.RefCounter.~wxRefCounter` Destructor. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.RefCounter.RefCount` See :meth:`~wx.RefCounter.GetRefCount` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.RefCounter(object) **Possible constructors**:: RefCounter() -> None This class is used to manage reference-counting providing a simple interface and a counter. .. method:: __init__(self) Default constructor. Initialises the internal reference count to 1. :rtype: `None` .. method:: DecRef(self) Decrements the reference count associated with this shared data and, if it reaches zero, destroys this instance of :ref:`wx.RefCounter` releasing its memory. Please note that after calling this function, the caller should absolutely avoid to use the pointer to this instance since it may not be valid anymore. :rtype: `None` .. method:: GetRefCount(self) Returns the reference count associated with this shared data. When this goes to zero during a :meth:`DecRef` call, the object will auto-free itself. :rtype: `int` .. method:: IncRef(self) Increments the reference count associated with this shared data. :rtype: `None` .. method:: ~wxRefCounter(self) Destructor. It's declared ``protected`` so that :ref:`wx.RefCounter` instances will never be destroyed directly but only as result of a :meth:`DecRef` call. .. attribute:: RefCount See :meth:`~wx.RefCounter.GetRefCount`