X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2Fintrusive_refcount.hh;h=c790403b439300d17c80311a43c33c566840bed7;hb=5b2e9a63a43027c71ac470ac9bdecb72e8974951;hp=d3b980f35ffdbe8ac60f8b9a0e31270900fdac45;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/intrusive_refcount.hh b/senf/Utils/intrusive_refcount.hh index d3b980f..c790403 100644 --- a/senf/Utils/intrusive_refcount.hh +++ b/senf/Utils/intrusive_refcount.hh @@ -30,7 +30,7 @@ #include //#include "intrusive_refcount.mpp" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { @@ -49,8 +49,8 @@ namespace senf { virtual ~intrusive_refcount_base(); - refcount_t refcount(); ///< current refcount - bool is_shared(); ///< return \c true if refcount() > 1 + refcount_t refcount() const; ///< current refcount + bool is_shared() const; ///< return \c true if refcount() > 1 protected: intrusive_refcount_base(); @@ -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. @@ -164,7 +164,7 @@ namespace senf { } -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #include "intrusive_refcount.cci" //#include "intrusive_refcount.ct" #include "intrusive_refcount.cti"