include/vcl/vclptr.hxx | 68 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 22 deletions(-)
New commits: commit 88612f7170a2f0bb4a0215bdb6e615f9c7ff016d Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Apr 29 10:58:35 2015 +0200 Make MSVC happy? Change-Id: I66b151aa726f6465f79003508520662e62b718aa diff --git a/include/vcl/vclptr.hxx b/include/vcl/vclptr.hxx index 50c4c43..ad7d1e2 100644 --- a/include/vcl/vclptr.hxx +++ b/include/vcl/vclptr.hxx @@ -21,7 +21,6 @@ #define INCLUDED_VCL_PTR_HXX #include <rtl/ref.hxx> -#include <cstddef> #include <utility> #include <type_traits> @@ -211,27 +210,6 @@ public: } } - /** Returns True if handle points to the same body. - */ - template<class T> - inline bool operator== (const VclPtr<T> & handle) const - { - return (get() == handle.get()); - } - - /** Needed to place VclPtr's into STL collection. - */ - inline bool operator!= (const VclPtr<reference_type> & handle) const - { - return (m_rInnerRef != handle.m_rInnerRef); - } - - /** Makes comparing against NULL easier, resolves compile-time ambiguity */ - inline bool operator!= (::std::nullptr_t ) const - { - return (get() != nullptr); - } - /** Needed to place VclPtr's into STL collection. */ inline bool operator< (const VclPtr<reference_type> & handle) const @@ -247,6 +225,52 @@ public: } }; // class VclPtr +template<typename T1, typename T2> +inline bool operator ==(VclPtr<T1> const & p1, VclPtr<T2> const & p2) { + return p1.get() == p2.get(); +} + +template<typename T> inline bool operator ==(VclPtr<T> const & p1, T const * p2) +{ + return p1.get() == p2; +} + +template<typename T> inline bool operator ==(VclPtr<T> const & p1, T * p2) { + return p1.get() == p2; +} + +template<typename T> inline bool operator ==(T const * p1, VclPtr<T> const & p2) +{ + return p1 == p2.get(); +} + +template<typename T> inline bool operator ==(T * p1, VclPtr<T> const & p2) { + return p1 == p2.get(); +} + +template<typename T1, typename T2> +inline bool operator !=(VclPtr<T1> const & p1, VclPtr<T2> const & p2) { + return !(p1 == p2); +} + +template<typename T> inline bool operator !=(VclPtr<T> const & p1, T const * p2) +{ + return !(p1 == p2); +} + +template<typename T> inline bool operator !=(VclPtr<T> const & p1, T * p2) { + return !(p1 == p2); +} + +template<typename T> inline bool operator !=(T const * p1, VclPtr<T> const & p2) +{ + return !(p1 == p2); +} + +template<typename T> inline bool operator !=(T * p1, VclPtr<T> const & p2) { + return !(p1 == p2); +} + /** * A construction helper for a temporary VclPtr. Since VclPtr types * are created with a reference-count of one - to help fit into _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits