47 #ifndef BLOCXX_COW_INTRUSIVE_COUNTABLE_BASE_HPP_INCLUDE_GUARD_
48 #define BLOCXX_COW_INTRUSIVE_COUNTABLE_BASE_HPP_INCLUDE_GUARD_
50 #include "blocxx/BLOCXX_config.h"
72 class COWIntrusiveCountableBase;
78 class BLOCXX_COMMON_API COWIntrusiveCountableBase
87 COWIntrusiveCountableBase(COWIntrusiveCountableBase
const &)
96 COWIntrusiveCountableBase & operator=(COWIntrusiveCountableBase
const &x)
105 COWIntrusiveCountableBase(): m_usecount(0)
142 if (p->m_usecount.decAndTest())
154 return p->m_usecount.get() == 1;
162 template <
typename T>
166 template <
typename T>
172 if (p->m_usecount.decAndTest())