48 #ifndef BLOCXX_COW_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
49 #define BLOCXX_COW_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
51 #include "blocxx/BLOCXX_config.h"
54 namespace BLOCXX_NAMESPACE
203 #ifdef BLOCXX_CHECK_NULL_REFERENCES
204 ReferenceHelpers::checkNull(
this);
205 ReferenceHelpers::checkNull(
m_pObj);
216 #ifdef BLOCXX_CHECK_NULL_REFERENCES
217 ReferenceHelpers::checkNull(
this);
218 ReferenceHelpers::checkNull(
m_pObj);
229 #ifdef BLOCXX_CHECK_NULL_REFERENCES
230 ReferenceHelpers::checkNull(
this);
231 ReferenceHelpers::checkNull(
m_pObj);
243 #ifdef BLOCXX_CHECK_NULL_REFERENCES
244 ReferenceHelpers::checkNull(
this);
245 ReferenceHelpers::checkNull(
m_pObj);
274 #if !defined(__GNUC__) || __GNUC__ > 2 // causes gcc 2.95 to ICE
320 #if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
322 template<
class T>
inline bool operator!=(COWIntrusiveReference<T>
const & a, COWIntrusiveReference<T>
const & b)
324 return a.getPtr() != b.getPtr();
329 return a.
getPtr() < b.getPtr();