1struct Atomic_t { 2 Atomic_t(int i) : val(i) { } 3 volatile int val; 4}; 5class RefCount { 6public: 7 RefCount(Atomic_t c) : m_count(c) { } 8 Atomic_t m_count; 9}; 10class IntrusiveCountableBase { 11 RefCount m_useCount; 12protected: 13 IntrusiveCountableBase(); 14}; 15IntrusiveCountableBase::IntrusiveCountableBase() : m_useCount(0) { } 16 17