49#ifndef BLOCXX_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
50#define BLOCXX_INTRUSIVE_REFERENCE_HPP_INCLUDE_GUARD_
52#include "blocxx/BLOCXX_config.h"
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);
162 return a.
getPtr() ==
b.getPtr();
166 return a.
getPtr() !=
b.getPtr();
178 return a ==
b.getPtr();
182 return a !=
b.getPtr();
184#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
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());
#define BLOCXX_SAFE_BOOL_IMPL(classname, type, variable, test)
IntrusiveReference & operator=(IntrusiveReference const &rhs)
IntrusiveReference(IntrusiveReference const &rhs)
void swap(IntrusiveReference &rhs)
IntrusiveReference< U > cast_to() const
IntrusiveReference & operator=(T *rhs)
IntrusiveReference(T *p, bool add_ref=true)
IntrusiveReference(IntrusiveReference< U > const &rhs)
IntrusiveReference & operator=(IntrusiveReference< U > const &rhs)
IntrusiveReference this_type
BLOCXX_DEPRECATED bool isNull() const
void IntrusiveReferenceRelease(IntrusiveCountableBase *p)
IntrusiveReference< T > dynamic_pointer_cast(IntrusiveReference< U > const &p)
void IntrusiveReferenceAddRef(IntrusiveCountableBase *p)
IntrusiveReference< T > static_pointer_cast(IntrusiveReference< U > const &p)
bool operator<(const Array< T > &x, const Array< T > &y)
bool operator==(const Array< T > &x, const Array< T > &y)
bool operator!=(const Array< T > &x, const Array< T > &y)
Determine two Arrays are not equal.
void swap(Array< T > &x, Array< T > &y)
IntrusiveReference< T > const_pointer_cast(IntrusiveReference< U > const &p)