38 #ifndef BLOCXX_REFERENCE_BASE_HPP_INCLUDE_GUARD_
39 #define BLOCXX_REFERENCE_BASE_HPP_INCLUDE_GUARD_
40 #include "blocxx/BLOCXX_config.h"
60 class BLOCXX_COMMON_API ReferenceBase
62 #if !defined(__GNUC__) || __GNUC__ > 2 // because of a gcc 2.95 ICE
68 : m_pRefCount(new RefCount) {}
69 ReferenceBase(
const ReferenceBase& arg)
72 m_pRefCount = arg.m_pRefCount;
82 if (m_pRefCount->decAndTest())
89 void swap(ReferenceBase& arg)
91 RefSwap(m_pRefCount, arg.m_pRefCount);
100 #if !defined(__GNUC__) || __GNUC__ > 2 // because of a gcc 2.95 ICE