49 #ifndef BLOCXX_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
50 #define BLOCXX_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
52 #include "blocxx/BLOCXX_config.h"
56 namespace BLOCXX_NAMESPACE
122 #ifdef BLOCXX_CHECK_NULL_REFERENCES
123 ReferenceHelpers::checkNull(
this);
124 ReferenceHelpers::checkNull(
m_pObj);
130 #ifdef BLOCXX_CHECK_NULL_REFERENCES
131 ReferenceHelpers::checkNull(
this);
132 ReferenceHelpers::checkNull(
m_pObj);
184 #if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
186 template<
class T>
inline bool operator!=(IntrusiveReference<T>
const & a, IntrusiveReference<T>
const & b)
188 return a.getPtr() != b.getPtr();
193 return a.
getPtr() < b.getPtr();
201 return static_cast<T *
>(p.
getPtr());
205 return const_cast<T *
>(p.
getPtr());
209 return dynamic_cast<T *
>(p.
getPtr());