X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2Fintrusive_refcount.hh;h=b3bfd56c225e28129e1612032d98cd0c9fae0292;hb=1b1d76302a5d61e918ef71f1c8e11f80ac1262e2;hp=8ce578571c7ac6d1f1df12c0fff55150536cde4f;hpb=a1a6c76a214ad1935032826713cabaf9ac57bf07;p=senf.git diff --git a/Utils/intrusive_refcount.hh b/Utils/intrusive_refcount.hh index 8ce5785..b3bfd56 100644 --- a/Utils/intrusive_refcount.hh +++ b/Utils/intrusive_refcount.hh @@ -61,6 +61,13 @@ 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 + friend void senf::intrusive_ptr_release(intrusive_refcount_t const * p); }; /** \brief Customizable reference count mixin for intrusive_ptr @@ -115,15 +122,6 @@ namespace senf { { protected: intrusive_refcount_t(); - - private: - void intrusive_ptr_add_ref(); - void intrusive_ptr_release(); - - template - friend void senf::intrusive_ptr_add_ref(intrusive_refcount_t * p); - template - friend void senf::intrusive_ptr_release(intrusive_refcount_t * p); }; /** \brief Reference count mixin for intrusive_ptr @@ -160,9 +158,9 @@ namespace senf { }; template - void intrusive_ptr_add_ref(intrusive_refcount_t * p); + void intrusive_ptr_add_ref(intrusive_refcount_t const * p); template - void intrusive_ptr_release(intrusive_refcount_t * p); + void intrusive_ptr_release(intrusive_refcount_t const * p); }