1 #ifndef _utl_LameShadowPtr_h_
2 #define _utl_LameShadowPtr_h_
5 #include <utl/ShadowPtrPolicy.h>
6 #include <utl/LameShadowPtr_fwd.h>
17 template<
typename T,
class DereferenceCheck>
66 explicit operator bool()
const {
return fPtr; }
81 template<
typename T,
class DereferenceCheck>
90 template<
typename T,
class D>
92 {
return (!s1 && !s2) || (s1 && s2 && *s1 == *s2); }
96 template<
typename T,
class D>
void Swap(LameShadowPtr &sp)
void swap(utl::Trace< T > &t1, utl::Trace< T > &t2)
void DeepCopy(const T *const p)
void swap(utl::TabulatedFunction &t1, utl::TabulatedFunction &t2)
bool operator!=(const T *const p) const
InitializedLameShadowPtr()
LameShadowPtr(T *const p)
LameShadowPtr & operator=(const LameShadowPtr &sp)
bool operator==(const LameShadowPtr &sp) const
LameShadowPtr(const LameShadowPtr &sp)
LameShadowPtr(LameShadowPtr &&sp)
bool operator!=(const LameShadowPtr &sp) const
bool operator==(const T *const p) const
bool DeepEqual(const LameShadowPtr< T, D > &s1, const LameShadowPtr< T, D > &s2)
LameShadowPtr & operator=(LameShadowPtr &&sp)
const T * operator->() const
LameShadowPtr & operator=(T *const p)