4 template<
typename what>
static void _COM_AddRef(what * ptr) {
5 if (ptr != NULL) ptr->AddRef();
8 if (ptr != NULL) ptr->Release();
23 inline void copy(
T * p_ptr)
throw() {
36 inline const t_self &
operator=(
const t_self & p_source)
throw() {
copy(p_source);
return *
this;}
37 inline const t_self &
operator=(
T* p_source)
throw() {
copy(p_source);
return *
this;}
39 template<
typename source>
inline const t_self &
operator=(source * p_ptr)
throw() {
copy(p_ptr);
return *
this;}
67 inline bool operator<(const com_ptr_t<T> & p_item)
const throw() {
return m_ptr < p_item.m_ptr;}
76 inline t_self &
operator<<(t_self & p_source)
throw() {
attach(p_source.detach());
return *
this;}
com_ptr_t(const t_self &p_source)
const t_self & operator=(T *p_source)
void copy(const com_ptr_t< source > &p_source)
static void _COM_Release(what *ptr)
t_type replace_null_t(t_type &p_var)
t_self & operator<<(t_self &p_source)
bool operator!=(const com_ptr_t< T > &p_item) const
const t_self & operator=(const t_self &p_source)
static void g_swap(com_ptr_t< T > &item1, com_ptr_t< T > &item2)
bool operator>(const com_ptr_t< T > &p_item) const
const t_self & operator=(const com_ptr_t< source > &p_source)
const t_self & operator=(source *p_ptr)
t_self & operator>>(t_self &p_dest)
static void _COM_AddRef(what *ptr)
T * duplicate_ptr() const
void swap_t(T &p_item1, T &p_item2)
bool operator==(const com_ptr_t< T > &p_item) const
void ** receive_void_ptr()
com_ptr_t(const com_ptr_t< source > &p_source)