
30 Jul
2008
30 Jul
'08
10:02 p.m.
Updated, after looking into other's implementation:
template<class Derived>
class intrusive_pointee_base
{
private:
typedef intrusive_pointee_base self;
protected:
intrusive_pointee_base(void) : reference_counter_(0) {}
intrusive_pointee_base(self const&) : reference_counter_(0) {}
intrusive_pointee_base operator=(self const&) { return *this }
~intrusive_pointee_base(void) {}
private:
friend void intrusive_ptr_add_ref(const Derived * p)
{
::InterlockedIncrement(&static_cast