X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/660b61d7e33018ce9d54a6d5a3d7eba449d44f95..4e15d1caa03346c126015019c1fdf093033ef40b:/docs/doxygen/overviews/refcount.h?ds=sidebyside
diff --git a/docs/doxygen/overviews/refcount.h b/docs/doxygen/overviews/refcount.h
index 081cad74eb..bcddbd5e7d 100644
--- a/docs/doxygen/overviews/refcount.h
+++ b/docs/doxygen/overviews/refcount.h
@@ -10,17 +10,7 @@
@page overview_refcount Reference Counting
-@li @ref overview_refcount_ignore
-@li @ref overview_refcount_equality
-@li @ref overview_refcount_destruct
-@li @ref overview_refcount_list
-@li @ref overview_refcount_object
-
-
-
-
-
-@section overview_refcount_ignore Why You Shouldn't Care About It
+@tableofcontents
Many wxWidgets objects use a technique known as reference counting,
also known as copy on write (COW). This means that when an object is
@@ -47,7 +37,7 @@ will return @true if two objects are identical and not only if they share the
same data.
Note that wxWidgets follows the STL philosophy: when a comparison
-operator can not be implemented efficiently (like for e.g. wxImage's ==
+operator cannot be implemented efficiently (like for e.g. wxImage's ==
operator which would need to compare the entire image's data, pixel-by-pixel),
it's not implemented at all. That's why not all reference counted classes
provide comparison operators.
@@ -97,20 +87,20 @@ operators and copy constructors since they are reference-counted:
Note that the list above reports the objects which are reference counted in all
ports of wxWidgets; some ports may use this technique also for other classes.
-All the objects implement a function @b IsOk() to test if they are referencing valid
-data; when the objects are in uninitialized state, you can only use the @b IsOk() getter;
-trying to call any other getter, e.g. wxBrush::GetStyle() on the ::wxNullBrush object,
-will result in an assert failure in debug builds.
+All the objects implement a function @b IsOk() to test if they are referencing
+valid data; when the objects are in uninitialized state, you can only use the
+@b IsOk() getter; trying to call any other getter, e.g. wxBrush::GetStyle() on
+the ::wxNullBrush object, will result in an assert failure in debug builds.
@section overview_refcount_object Making Your Own Reference Counted Class
-Reference counting can be implemented easily using wxObject or using
-the intermediate wxRefCounter class directly.
-Alternatively, you can also use the wxObjectDataPtr template.
+Reference counting can be implemented easily using wxObject or using the
+intermediate wxRefCounter class directly. Alternatively, you can also use the
+wxObjectDataPtr template.
-First, derive a new class from wxRefCounter (or wxObjectRefData when
-using a wxObject derived class) and put the memory-consuming data in it.
+First, derive a new class from wxRefCounter (or wxObjectRefData when using a
+wxObject derived class) and put the memory-consuming data in it.
Then derive a new class from wxObject and implement there the public interface
which will be seen by the user of your class. You'll probably want to add a
@@ -133,4 +123,3 @@ that the modifications won't affect other instances which are eventually
sharing your object's data.
*/
-