Relational Function Templates
Microsoft Specific
template<typename _InterfaceType> bool operator==( int NULL, _com_ptr_t<_InterfaceType>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator==( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
template<typename _Interface> bool operator!=( int NULL, _com_ptr_t<_Interface>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator!=( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
template<typename _Interface> bool operator<( int NULL, _com_ptr_t<_Interface>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator<( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
template<typename _Interface> bool operator>( int NULL, _com_ptr_t<_Interface>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator>( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
template<typename _Interface> bool operator<=( int NULL, _com_ptr_t<_Interface>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator<=( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
template<typename _Interface> bool operator>=( int NULL, _com_ptr_t<_Interface>& p ) throw( _com_error );
template<typename _Interface, typename _InterfacePtr> bool operator>=( _Interface* i**, _com_ptr_t<_InterfacePtr>&** p ) throw( _com_error );
Parameters
i
a raw interface pointer
p
a smart pointer
Remarks
They are function templates which allow comparison with a smart pointer on the right-hand side of the comparison operator. These are not member functions of _com_ptr_t.
END Microsoft Specific