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);
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();
201 return static_cast<T *>(p.
getPtr());
205 return const_cast<T *>(p.
getPtr());
209 return dynamic_cast<T *>(p.
getPtr());
IntrusiveReference this_type
const UInt32 INFINITE_TIMEOUT BLOCXX_DEPRECATED
Value that means infinite timeout.
void swap(Array< T > &x, Array< T > &y)
void IntrusiveReferenceAddRef(IntrusiveCountableBase *p)
#define BLOCXX_SAFE_BOOL_IMPL(classname, type, variable, test)
IntrusiveReference & operator=(T *rhs)
IntrusiveReference(T *p, bool add_ref=true)
IntrusiveReference & operator=(IntrusiveReference const &rhs)
IntrusiveReference< U > cast_to() const
IntrusiveReference(IntrusiveReference< U > const &rhs)
IntrusiveReference< T > dynamic_pointer_cast(IntrusiveReference< U > const &p)
bool operator==(const Array< T > &x, const Array< T > &y)
IntrusiveReference(IntrusiveReference const &rhs)
IntrusiveReference< T > const_pointer_cast(IntrusiveReference< U > const &p)
bool operator!=(const Char16 &arg, int v)
BLOCXX_DEPRECATED bool isNull() const
IntrusiveReference & operator=(IntrusiveReference< U > const &rhs)
bool operator<(const Array< T > &x, const Array< T > &y)
void IntrusiveReferenceRelease(IntrusiveCountableBase *p)
IntrusiveReference< T > static_pointer_cast(IntrusiveReference< U > const &p)
void swap(IntrusiveReference &rhs)