From 22f2cf3ccc6d0c9ba2c2860735e789d6b3a25f72 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 29 Apr 2019 16:24:12 +0200 Subject: implement std::hash for css::uno::Reference and rtl::Reference The declaration in BarChart.cxx is particularly suspicious, because it was using a < for the KeyEqual template parameter. Been there since: commit b2c3233e5f267b5d244d722a94424a3b224b3314 Date: Thu Dec 21 20:08:33 2017 +0900 chart2: suspend/resume setting rects dirty for 3D shapes comphelper::OInterfaceCompare is no longer necessary Change-Id: I8278c4a3d9113a18570ca237cd05d553ec8f3975 Reviewed-on: https://gerrit.libreoffice.org/71537 Tested-by: Jenkins Reviewed-by: Noel Grandin --- include/com/sun/star/uno/Reference.hxx | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'include/com/sun/star/uno/Reference.hxx') diff --git a/include/com/sun/star/uno/Reference.hxx b/include/com/sun/star/uno/Reference.hxx index d822c97aeb2d..c6869d922d7e 100644 --- a/include/com/sun/star/uno/Reference.hxx +++ b/include/com/sun/star/uno/Reference.hxx @@ -450,6 +450,26 @@ operator <<( } } +#if defined LIBO_INTERNAL_ONLY +namespace std +{ + +/** + Make css::uno::Reference hashable by default for use in STL containers. + + @since LibreOffice 6.3 +*/ +template +struct hash<::css::uno::Reference> +{ + std::size_t operator()(::css::uno::Reference const & s) const + { return size_t(s.get()); } +}; + +} + +#endif + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit