39#ifndef BLOCXX_REFERENCE_HPP_
40#define BLOCXX_REFERENCE_HPP_
41#include "blocxx/BLOCXX_config.h"
52#if !defined(__GNUC__) || __GNUC__ > 2
76 bool isNull() const BLOCXX_DEPRECATED;
84#if !defined(__GNUC__) || __GNUC__ > 2
130 typedef char type_must_be_complete[
sizeof(T)];
161#ifdef BLOCXX_CHECK_NULL_REFERENCES
162 ReferenceHelpers::checkNull(
this);
163 ReferenceHelpers::checkNull(
m_pObj);
172#ifdef BLOCXX_CHECK_NULL_REFERENCES
173 ReferenceHelpers::checkNull(
this);
174 ReferenceHelpers::checkNull(
m_pObj);
215template <
class T,
class U>
221template <
class T,
class U>
227#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
230inline bool operator!=(
const Reference<T>& a,
const Reference<T>& b)
232 return a.getPtr() != b.getPtr();
236template <
class T,
class U>
#define BLOCXX_SAFE_BOOL_IMPL(classname, type, variable, test)
void swap(ReferenceBase &arg)
void useRefCountOf(const ReferenceBase &arg)
void useRefCountOf(const Reference< U > &)
Reference< U > cast_to() const
Reference< T > & operator=(const Reference< T > &arg)
DelayedFormatInternals::DelayedFormatReferenceBase element_type
DelayedFormatInternals::DelayedFormatReferenceBase *volatile m_pObj
bool isNull() const BLOCXX_DEPRECATED
Reference(const Reference< T > &arg)
Reference(const Reference< U > &arg)
void swap(Reference< T > &arg)
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.