X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2Fintrusive_refcount.hh;h=d612f4ad9338b6975c8fe7aa45d6b30b1953235c;hb=9bc655e14d2d8c204ed835896cb51e42d49bd68f;hp=d3b980f35ffdbe8ac60f8b9a0e31270900fdac45;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/intrusive_refcount.hh b/senf/Utils/intrusive_refcount.hh index d3b980f..d612f4a 100644 --- a/senf/Utils/intrusive_refcount.hh +++ b/senf/Utils/intrusive_refcount.hh @@ -60,10 +60,10 @@ namespace senf { private: refcount_t refcount_; - + template void intrusive_ptr_add_ref(); template void intrusive_ptr_release(); - + template friend void senf::intrusive_ptr_add_ref(intrusive_refcount_t const * p); template @@ -73,12 +73,12 @@ namespace senf { /** \brief Customizable reference count mixin for intrusive_ptr This class provides a simple internally managed refcount and supplies the boost::intrusive_ptr + href="http://www.boost.org/doc/libs/release/libs/smart_ptr/intrusive_ptr.html">boost::intrusive_ptr required interface. To make a class compatible with \c boost::intrusive_ptr, just derive publicly from intrusive_refcount_t. \code - class SomeClass + class SomeClass : public intrusive_refcount_t { // ... @@ -95,7 +95,7 @@ namespace senf { { // Call intrusive_base::release() to decrement the // refcount. This call will return 'true' when the refcount reaches 0. - + // Return 'true', if the instance shall be deleted } @@ -103,7 +103,7 @@ namespace senf { friend class intrusive_base; }; \endcode - + Two additional benefits of using intrusive_refcount are \li The object can access it's own refcount \li It is valid and safe to convert a plain object pointer to an intrusive_ptr at any time @@ -127,7 +127,7 @@ namespace senf { /** \brief Reference count mixin for intrusive_ptr This class provides a simple internally managed refcount and supplies the boost::intrusive_ptr + href="http://www.boost.org/doc/libs/release/libs/smart_ptr/intrusive_ptr.html">boost::intrusive_ptr required interface. To make a class compatible with \c boost::intrusive_ptr, just derive publicly from intrusive_refcount.