2 #ifndef INTRUSIVE_PTR_HEADER     3 #define INTRUSIVE_PTR_HEADER     5 #include "oxygine-include.h"    16         typedef T element_type;
    22                 intrusive_ptr_add_ref(s._ptr);
    29             if (_ptr != 0) intrusive_ptr_add_ref(_ptr);
    39             OX_ASSERT(_ptr && _ptr->_ref_counter > 0);
    45             OX_ASSERT(_ptr && _ptr->_ref_counter > 0);
    64                 intrusive_ptr_add_ref(p);
    67         bool operator!()
 const    86                 intrusive_ptr_release(_ptr);
    92         return a.get() == b.get();
    95     template<
class T, 
class U> 
inline bool operator!=(intrusive_ptr<T> 
const& a, intrusive_ptr<U> 
const& b)
    97         return a.get() != b.get();
   100     template<
class T> 
inline bool operator==(intrusive_ptr<T> 
const& a, T* b)
   105     template<
class T> 
inline bool operator!=(intrusive_ptr<T> 
const& a, T* b)
   110     template<
class T> 
inline bool operator==(T* a, intrusive_ptr<T> 
const& b)
   115     template<
class T> 
inline bool operator!=(T* a, intrusive_ptr<T> 
const& b)
   120     template<
class T> T* get_pointer(intrusive_ptr<T> 
const& p)
   125     template<
class T, 
class U> intrusive_ptr<T> static_pointer_cast(intrusive_ptr<U> 
const& p)
   127         return static_cast<T*
>(p.get());
   130     template<
class T, 
class U> intrusive_ptr<T> const_pointer_cast(intrusive_ptr<U> 
const& p)
   132         return const_cast<T*
>(p.get());
   135     template<
class T, 
class U> intrusive_ptr<T> dynamic_pointer_cast(intrusive_ptr<U> 
const& p)
   137         return dynamic_cast<T*
>(p.get());
   145         RefHolder() {this->_ref_counter = 1000000;}
 Definition: intrusive_ptr.h:12
 
–oxgl-end–! 
Definition: Actor.h:14
 
Definition: intrusive_ptr.h:142