overload std::hash for OUString and OString

no need to explicitly specify it anymore

Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec
Reviewed-on: https://gerrit.libreoffice.org/43567
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/accessibility/inc/extended/textwindowaccessibility.hxx b/accessibility/inc/extended/textwindowaccessibility.hxx
index b5eaec4..5c1fd42 100644
--- a/accessibility/inc/extended/textwindowaccessibility.hxx
+++ b/accessibility/inc/extended/textwindowaccessibility.hxx
@@ -320,8 +320,7 @@ private:


typedef std::unordered_map< OUString,
                         css::beans::PropertyValue,
                         OUStringHash > tPropValMap;
                         css::beans::PropertyValue > tPropValMap;

class Document: public ::VCLXAccessibleComponent, public ::SfxListener
{
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
index 1ce0e4b..b2aaae3 100644
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
@@ -1138,8 +1138,7 @@ struct ClassModuleRunInitItem
// Derive from unordered_map type instead of typedef
// to allow forward declaration in sbmod.hxx
class ModuleInitDependencyMap : public
    std::unordered_map< OUString, ClassModuleRunInitItem,
                          OUStringHash >
    std::unordered_map< OUString, ClassModuleRunInitItem >
{};

void SbModule::implProcessModuleRunInit( ModuleInitDependencyMap& rMap, ClassModuleRunInitItem& rItem )
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index 0dea007..1be0133 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -3205,7 +3205,7 @@ Reference< XTypeDescriptionEnumeration > getTypeDescriptorEnumeration( const OUS
    return xEnum;
}

typedef std::unordered_map< OUString, Any, OUStringHash > VBAConstantsHash;
typedef std::unordered_map< OUString, Any > VBAConstantsHash;

VBAConstantHelper&
VBAConstantHelper::instance()
diff --git a/basic/source/inc/namecont.hxx b/basic/source/inc/namecont.hxx
index 5cc2c0d..875e15a 100644
--- a/basic/source/inc/namecont.hxx
+++ b/basic/source/inc/namecont.hxx
@@ -69,7 +69,7 @@ typedef ::cppu::WeakImplHelper<

class NameContainer : public ::cppu::BaseMutex, public NameContainer_BASE
{
    typedef std::unordered_map < OUString, sal_Int32, OUStringHash > NameContainerNameMap;
    typedef std::unordered_map < OUString, sal_Int32 > NameContainerNameMap;

    NameContainerNameMap mHashMap;
    std::vector< OUString > mNames;
diff --git a/basic/source/inc/sbunoobj.hxx b/basic/source/inc/sbunoobj.hxx
index 2fae21e..b31e349 100644
--- a/basic/source/inc/sbunoobj.hxx
+++ b/basic/source/inc/sbunoobj.hxx
@@ -364,7 +364,7 @@ public:
    virtual void Clear() override;
};

typedef std::unordered_map< OUString, css::uno::Any, OUStringHash > VBAConstantsHash;
typedef std::unordered_map< OUString, css::uno::Any > VBAConstantsHash;

typedef std::vector< OUString > VBAConstantsVector;

diff --git a/basic/source/inc/scriptcont.hxx b/basic/source/inc/scriptcont.hxx
index 58b2607..1b0831a 100644
--- a/basic/source/inc/scriptcont.hxx
+++ b/basic/source/inc/scriptcont.hxx
@@ -103,7 +103,7 @@ public:
};


typedef std::unordered_map< OUString, css::script::ModuleInfo, OUStringHash > ModuleInfoMap;
typedef std::unordered_map< OUString, css::script::ModuleInfo > ModuleInfoMap;

typedef ::cppu::ImplHelper1< css::script::vba::XVBAModuleInfo > SfxScriptLibrary_BASE;

@@ -111,7 +111,7 @@ class SfxScriptLibrary : public SfxLibrary, public SfxScriptLibrary_BASE
{
    friend class SfxScriptLibraryContainer;

    typedef std::unordered_map< OUString, css::script::ModuleInfo, OUStringHash > ModuleInfoMap;
    typedef std::unordered_map< OUString, css::script::ModuleInfo > ModuleInfoMap;

    bool mbLoadedSource;
    bool mbLoadedBinary;
diff --git a/bridges/inc/vtablefactory.hxx b/bridges/inc/vtablefactory.hxx
index e099f3b..991716b 100644
--- a/bridges/inc/vtablefactory.hxx
+++ b/bridges/inc/vtablefactory.hxx
@@ -207,7 +207,7 @@ private:
    static void flushCode(
        unsigned char const * begin, unsigned char const * end);

    typedef std::unordered_map< OUString, Vtables, OUStringHash > Map;
    typedef std::unordered_map< OUString, Vtables > Map;

    osl::Mutex m_mutex;
    Map m_map;
diff --git a/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx b/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx
index c5117ac..fe3c1f3 100644
--- a/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx
@@ -88,7 +88,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
        t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_ios/except.cxx b/bridges/source/cpp_uno/gcc3_ios/except.cxx
index 1d1eecc..17b9547 100644
--- a/bridges/source/cpp_uno/gcc3_ios/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_ios/except.cxx
@@ -143,7 +143,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, std::type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, std::type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx b/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx
index 1620467..fa6ffeb 100644
--- a/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/abi.cxx
@@ -81,7 +81,7 @@ public:
    std::type_info * getRtti(typelib_TypeDescription const & type);

private:
    typedef std::unordered_map<OUString, std::type_info *, OUStringHash> Map;
    typedef std::unordered_map<OUString, std::type_info *> Map;

    void * app_;

diff --git a/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx b/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx
index 74dabc8..1a51c6e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
index a025c82..43e255c 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
@@ -87,7 +87,7 @@ namespace CPPU_CURRENT_NAMESPACE

    class RTTI
    {
        typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
        typedef std::unordered_map< OUString, type_info * > t_rtti_map;

        Mutex m_mutex;
        t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_hppa/except.cxx b/bridges/source/cpp_uno/gcc3_linux_hppa/except.cxx
index 855e75c..3464ad7 100644
--- a/bridges/source/cpp_uno/gcc3_linux_hppa/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_hppa/except.cxx
@@ -87,7 +87,7 @@ namespace CPPU_CURRENT_NAMESPACE

    class RTTI
    {
        typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
        typedef std::unordered_map< OUString, type_info * > t_rtti_map;

        Mutex m_mutex;
        t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_ia64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_ia64/except.cxx
index 95688e3..27d6bc1 100644
--- a/bridges/source/cpp_uno/gcc3_linux_ia64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_ia64/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
index 3a67731..6bbcfb2 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
@@ -84,7 +84,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_m68k/except.cxx b/bridges/source/cpp_uno/gcc3_linux_m68k/except.cxx
index 6f0581d..27a5871 100644
--- a/bridges/source/cpp_uno/gcc3_linux_m68k/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_m68k/except.cxx
@@ -87,7 +87,7 @@ namespace CPPU_CURRENT_NAMESPACE

    class RTTI
    {
        typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
        typedef std::unordered_map< OUString, type_info * > t_rtti_map;

        Mutex m_mutex;
        t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_mips/except.cxx b/bridges/source/cpp_uno/gcc3_linux_mips/except.cxx
index 5022053..01a4446 100644
--- a/bridges/source/cpp_uno/gcc3_linux_mips/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_mips/except.cxx
@@ -84,7 +84,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_mips64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_mips64/except.cxx
index 0e65372..e17e5fb 100644
--- a/bridges/source/cpp_uno/gcc3_linux_mips64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_mips64/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx
index 225a241..cd6c795 100644
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx
index 95688e3..27d6bc1 100644
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx b/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
index 74dabc8..1a51c6e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
index 6049fb5..9fc8933 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_sparc/except.cxx b/bridges/source/cpp_uno/gcc3_linux_sparc/except.cxx
index 261339c..457ab48 100644
--- a/bridges/source/cpp_uno/gcc3_linux_sparc/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_sparc/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_sparc64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_sparc64/except.cxx
index 261339c..457ab48 100644
--- a/bridges/source/cpp_uno/gcc3_linux_sparc64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_sparc64/except.cxx
@@ -85,7 +85,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
index 1bc4a8e..4d6683f 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
@@ -41,7 +41,7 @@ namespace {

class RTTI
{
    typedef std::unordered_map< OUString, std::type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, std::type_info * > t_rtti_map;

    osl::Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx
index 1d1eecc..17b9547 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx
@@ -143,7 +143,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, std::type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, std::type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_solaris_intel/except.cxx b/bridges/source/cpp_uno/gcc3_solaris_intel/except.cxx
index 8e403ac..0b48452 100644
--- a/bridges/source/cpp_uno/gcc3_solaris_intel/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_solaris_intel/except.cxx
@@ -87,7 +87,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/gcc3_solaris_sparc/except.cxx b/bridges/source/cpp_uno/gcc3_solaris_sparc/except.cxx
index 7b95700..1832643 100644
--- a/bridges/source/cpp_uno/gcc3_solaris_sparc/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_solaris_sparc/except.cxx
@@ -84,7 +84,7 @@ static OUString toUNOname( char const * p )

class RTTI
{
    typedef std::unordered_map< OUString, type_info *, OUStringHash > t_rtti_map;
    typedef std::unordered_map< OUString, type_info * > t_rtti_map;

    Mutex m_mutex;
    t_rtti_map m_rttis;
diff --git a/bridges/source/cpp_uno/msvc_win32_intel/except.cxx b/bridges/source/cpp_uno/msvc_win32_intel/except.cxx
index 3fa9474..656dab7 100644
--- a/bridges/source/cpp_uno/msvc_win32_intel/except.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_intel/except.cxx
@@ -83,7 +83,7 @@ static inline OUString toRTTIname( OUString const & rUNOname ) throw ()
//#### RTTI simulation #############################################################################


typedef std::unordered_map< OUString, void *, OUStringHash > t_string2PtrMap;
typedef std::unordered_map< OUString, void * > t_string2PtrMap;

class RTTInfos
{
diff --git a/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx b/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx
index 6dafb73..b96d354f 100644
--- a/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx
@@ -306,7 +306,7 @@ static inline OUString toRTTIname(

//RTTI simulation

typedef std::unordered_map< OUString, void *, OUStringHash > t_string2PtrMap;
typedef std::unordered_map< OUString, void * > t_string2PtrMap;
class type_info_descriptor;

class RTTInfos
diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx b/bridges/source/cpp_uno/shared/vtablefactory.cxx
index 6df5acb..47a4af2 100644
--- a/bridges/source/cpp_uno/shared/vtablefactory.cxx
+++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx
@@ -155,7 +155,7 @@ private:
    sal_Int32 calculate(
        typelib_InterfaceTypeDescription * type, sal_Int32 offset);

    std::unordered_map< OUString, sal_Int32, OUStringHash > m_map;
    std::unordered_map< OUString, sal_Int32 > m_map;
};

sal_Int32 VtableFactory::BaseOffset::calculate(
diff --git a/bridges/source/jni_uno/jni_info.h b/bridges/source/jni_uno/jni_info.h
index f40c26e..a8d395c 100644
--- a/bridges/source/jni_uno/jni_info.h
+++ b/bridges/source/jni_uno/jni_info.h
@@ -119,7 +119,7 @@ struct JNI_type_info_holder
};

typedef std::unordered_map<
    OUString, JNI_type_info_holder, OUStringHash > t_str2type;
    OUString, JNI_type_info_holder > t_str2type;

class JNI_info
{
diff --git a/comphelper/source/container/embeddedobjectcontainer.cxx b/comphelper/source/container/embeddedobjectcontainer.cxx
index a3fce00..520d37e 100644
--- a/comphelper/source/container/embeddedobjectcontainer.cxx
+++ b/comphelper/source/container/embeddedobjectcontainer.cxx
@@ -54,7 +54,7 @@ using namespace ::com::sun::star;

namespace comphelper {

typedef std::unordered_map<OUString, uno::Reference <embed::XEmbeddedObject>, OUStringHash>
typedef std::unordered_map<OUString, uno::Reference <embed::XEmbeddedObject>>
EmbeddedObjectContainerNameMap;

struct EmbedImpl
diff --git a/comphelper/source/misc/namedvaluecollection.cxx b/comphelper/source/misc/namedvaluecollection.cxx
index 9c03be3..d803c6f 100644
--- a/comphelper/source/misc/namedvaluecollection.cxx
+++ b/comphelper/source/misc/namedvaluecollection.cxx
@@ -45,7 +45,7 @@ namespace comphelper
    using ::com::sun::star::lang::IllegalArgumentException;
    using ::com::sun::star::beans::PropertyState_DIRECT_VALUE;

    typedef std::unordered_map< OUString, Any, OUStringHash >    NamedValueRepository;
    typedef std::unordered_map< OUString, Any >    NamedValueRepository;

    struct NamedValueCollection_Impl
    {
diff --git a/comphelper/source/property/propagg.cxx b/comphelper/source/property/propagg.cxx
index dd97cee..8bda3f2 100644
--- a/comphelper/source/property/propagg.cxx
+++ b/comphelper/source/property/propagg.cxx
@@ -75,7 +75,7 @@ OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper(

    // fill aDelegatorProps with names from _rProperties for a fast existence check
    // different kinds of properties are processed differently
    std::unordered_set< OUString, OUStringHash > aDelegatorProps;
    std::unordered_set< OUString > aDelegatorProps;
    aDelegatorProps.reserve( _rProperties.getLength() );
    for( auto &delegateProp: _rProperties )
    {
diff --git a/connectivity/source/drivers/mork/MColumnAlias.hxx b/connectivity/source/drivers/mork/MColumnAlias.hxx
index cc1d2e1..6ce3f30 100644
--- a/connectivity/source/drivers/mork/MColumnAlias.hxx
+++ b/connectivity/source/drivers/mork/MColumnAlias.hxx
@@ -49,7 +49,7 @@ namespace connectivity
                {
                }
            };
            typedef std::unordered_map< OUString, AliasEntry, OUStringHash > AliasMap;
            typedef std::unordered_map< OUString, AliasEntry > AliasMap;

        private:
            AliasMap    m_aAliasMap;
diff --git a/connectivity/source/drivers/mork/MQueryHelper.hxx b/connectivity/source/drivers/mork/MQueryHelper.hxx
index 7e469d0..9f18fdb 100644
--- a/connectivity/source/drivers/mork/MQueryHelper.hxx
+++ b/connectivity/source/drivers/mork/MQueryHelper.hxx
@@ -146,7 +146,7 @@ namespace connectivity
        class MQueryHelperResultEntry
        {
        private:
            typedef std::unordered_map< OString, OUString, OStringHash >  FieldMap;
            typedef std::unordered_map< OString, OUString >  FieldMap;

            FieldMap                m_Fields;

diff --git a/connectivity/source/drivers/postgresql/pq_statics.hxx b/connectivity/source/drivers/postgresql/pq_statics.hxx
index b79df17..324889b 100644
--- a/connectivity/source/drivers/postgresql/pq_statics.hxx
+++ b/connectivity/source/drivers/postgresql/pq_statics.hxx
@@ -91,8 +91,7 @@ typedef std::vector< ColumnMetaData > ColumnMetaDataVector;
typedef std::unordered_map
<
   OUString,
   sal_Int32,
   OUStringHash
   sal_Int32
> BaseTypeMap;

struct ImplementationStatics
diff --git a/connectivity/source/drivers/postgresql/pq_tools.hxx b/connectivity/source/drivers/postgresql/pq_tools.hxx
index 3ae5de20..6fadbbe 100644
--- a/connectivity/source/drivers/postgresql/pq_tools.hxx
+++ b/connectivity/source/drivers/postgresql/pq_tools.hxx
@@ -125,11 +125,7 @@ css::uno::Sequence< sal_Int32 > string2intarray( const OUString & str );
css::uno::Sequence< OUString > convertMappedIntArray2StringArray(
    const Int2StringMap &map, const css::uno::Sequence< sal_Int32> &source );

typedef std::unordered_map
<
    OString,
    OString,
    OStringHash > String2StringMap;
typedef std::unordered_map< OString, OString > String2StringMap;

OUString querySingleValue(
    const css::uno::Reference< css::sdbc::XConnection > &connection,
diff --git a/connectivity/source/drivers/postgresql/pq_xcontainer.hxx b/connectivity/source/drivers/postgresql/pq_xcontainer.hxx
index 0e788d1..f53b030 100644
--- a/connectivity/source/drivers/postgresql/pq_xcontainer.hxx
+++ b/connectivity/source/drivers/postgresql/pq_xcontainer.hxx
@@ -88,8 +88,7 @@ public:
typedef std::unordered_map
<
   OUString,
   sal_Int32,
   OUStringHash
   sal_Int32
> String2IntMap;

typedef ::cppu::WeakComponentImplHelper
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx
index 94bb572..fe02245 100644
--- a/cppu/source/uno/lbenv.cxx
+++ b/cppu/source/uno/lbenv.cxx
@@ -46,7 +46,6 @@


using ::rtl::OUString;
using ::rtl::OUStringHash;

namespace
{
@@ -102,14 +101,14 @@ struct FctPtrHash

// mapping from environment name to environment
typedef std::unordered_map<
    OUString, uno_Environment *, OUStringHash > OUString2EnvironmentMap;
    OUString, uno_Environment * > OUString2EnvironmentMap;

// mapping from ptr to object entry
typedef std::unordered_map<
    void *, ObjectEntry *, FctPtrHash > Ptr2ObjectMap;
// mapping from oid to object entry
typedef std::unordered_map<
    OUString, ObjectEntry *, OUStringHash > OId2ObjectMap;
    OUString, ObjectEntry * > OId2ObjectMap;

struct EnvironmentsData
{
diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx
index c1b52f4..ecd89ec 100644
--- a/cppu/source/uno/lbmap.cxx
+++ b/cppu/source/uno/lbmap.cxx
@@ -50,7 +50,6 @@ using namespace osl;
using namespace com::sun::star::uno;
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
using ::rtl::OUStringHash;

namespace cppu
{
@@ -137,7 +136,7 @@ struct FctPtrHash
};

typedef std::unordered_map<
    OUString, MappingEntry *, OUStringHash > t_OUString2Entry;
    OUString, MappingEntry * > t_OUString2Entry;
typedef std::unordered_map<
    uno_Mapping *, MappingEntry *, FctPtrHash > t_Mapping2Entry;

diff --git a/cppuhelper/source/component_context.cxx b/cppuhelper/source/component_context.cxx
index 7d9ecd9..496e5ae 100644
--- a/cppuhelper/source/component_context.cxx
+++ b/cppuhelper/source/component_context.cxx
@@ -55,7 +55,6 @@ using namespace ::com::sun::star;

using rtl::OUString;
using rtl::OUStringBuffer;
using rtl::OUStringHash;

namespace cppu
{
@@ -138,7 +137,7 @@ protected:
            , lateInit( lateInit_ )
            {}
    };
    typedef std::unordered_map< OUString, ContextEntry * , OUStringHash > t_map;
    typedef std::unordered_map< OUString, ContextEntry *  > t_map;
    t_map m_map;

    Reference< lang::XMultiComponentFactory > m_xSMgr;
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 736b228..3cb3a4b 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -766,7 +766,7 @@ SvxEntries* ContextMenuSaveInData::GetEntries()
{
    if ( !m_pRootEntry )
    {
        typedef std::unordered_map< OUString, bool, OUStringHash > MenuInfo;
        typedef std::unordered_map< OUString, bool > MenuInfo;
        MenuInfo aMenuInfo;

        m_pRootEntry.reset( new SvxConfigEntry( "ContextMenus", OUString(), true ) );
@@ -2368,8 +2368,7 @@ OUString ToolbarSaveInData::GetSystemUIName( const OUString& rResourceURL )

SvxEntries* ToolbarSaveInData::GetEntries()
{
    typedef std::unordered_map<OUString, bool,
                               OUStringHash > ToolbarInfo;
    typedef std::unordered_map<OUString, bool > ToolbarInfo;

    ToolbarInfo aToolbarInfo;

@@ -2978,8 +2977,7 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
    pTbSymbol->set_height_request(aTbSize.Height());
    pTbSymbol->SetStyle(pTbSymbol->GetStyle() | WB_SCROLL | WB_LINESPACING);

    typedef std::unordered_map< OUString, bool,
                                OUStringHash > ImageInfo;
    typedef std::unordered_map< OUString, bool > ImageInfo;

    pTbSymbol->SetPageScroll( true );

diff --git a/cui/source/inc/macropg.hxx b/cui/source/inc/macropg.hxx
index 736c4de..cd6ecb5 100644
--- a/cui/source/inc/macropg.hxx
+++ b/cui/source/inc/macropg.hxx
@@ -35,8 +35,7 @@

class SvTreeListBox;

typedef std::unordered_map< OUString, std::pair< OUString, OUString >,
                            OUStringHash > EventsHash;
typedef std::unordered_map< OUString, std::pair< OUString, OUString > > EventsHash;

struct EventDisplayName
{
diff --git a/cui/source/inc/scriptdlg.hxx b/cui/source/inc/scriptdlg.hxx
index 6cdcde9..0b80c7b 100644
--- a/cui/source/inc/scriptdlg.hxx
+++ b/cui/source/inc/scriptdlg.hxx
@@ -38,8 +38,7 @@
#define OBJTYPE_SCRIPTCONTAINER 3L
#define OBJTYPE_SFROOT          4L

typedef std::unordered_map < OUString, OUString,
                             OUStringHash > Selection_hash;
typedef std::unordered_map < OUString, OUString > Selection_hash;

class SFEntry;

diff --git a/dbaccess/source/core/recovery/subcomponents.hxx b/dbaccess/source/core/recovery/subcomponents.hxx
index 6fa4c66..aa0b89b 100644
--- a/dbaccess/source/core/recovery/subcomponents.hxx
+++ b/dbaccess/source/core/recovery/subcomponents.hxx
@@ -56,7 +56,7 @@ namespace dbaccess
        }
    };

    typedef std::unordered_map< OUString, SubComponentDescriptor, OUStringHash > MapStringToCompDesc;
    typedef std::unordered_map< OUString, SubComponentDescriptor > MapStringToCompDesc;
    typedef std::map< SubComponentType, MapStringToCompDesc > MapCompTypeToCompDescs;

} // namespace dbaccess
diff --git a/desktop/source/app/dispatchwatcher.hxx b/desktop/source/app/dispatchwatcher.hxx
index 591f852..24fd8c3 100644
--- a/desktop/source/app/dispatchwatcher.hxx
+++ b/desktop/source/app/dispatchwatcher.hxx
@@ -81,7 +81,7 @@ class DispatchWatcher : public ::cppu::WeakImplHelper< css::frame::XDispatchResu
    private:
        osl::Mutex m_mutex;

        std::unordered_map<OUString, sal_Int32, OUStringHash> m_aRequestContainer;
        std::unordered_map<OUString, sal_Int32> m_aRequestContainer;

        sal_Int16                   m_nRequestCount;
};
diff --git a/desktop/source/deployment/inc/dp_persmap.h b/desktop/source/deployment/inc/dp_persmap.h
index 3b172ff..fb59cd5 100644
--- a/desktop/source/deployment/inc/dp_persmap.h
+++ b/desktop/source/deployment/inc/dp_persmap.h
@@ -28,7 +28,7 @@ namespace dp_misc
{

typedef std::unordered_map<
    OString, OString, OStringHash > t_string2string_map;
    OString, OString > t_string2string_map;

// Class to read obsolete registered extensions
// should be removed for LibreOffice 4.0
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx
index e797fb1..a2dd6bb 100644
--- a/desktop/source/deployment/manager/dp_extensionmanager.hxx
+++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx
@@ -38,8 +38,7 @@ namespace dp_manager {

typedef std::unordered_map<
    OUString,
    std::vector<css::uno::Reference<css::deployment::XPackage> >,
    OUStringHash > id2extensions;
    std::vector<css::uno::Reference<css::deployment::XPackage> > > id2extensions;

class ExtensionManager : private ::dp_misc::MutexHolder,
        public ::cppu::WeakComponentImplHelper< css::deployment::XExtensionManager >
diff --git a/desktop/source/deployment/manager/dp_managerfac.cxx b/desktop/source/deployment/manager/dp_managerfac.cxx
index 1a58b912..37089fc 100644
--- a/desktop/source/deployment/manager/dp_managerfac.cxx
+++ b/desktop/source/deployment/manager/dp_managerfac.cxx
@@ -47,8 +47,7 @@ class PackageManagerFactoryImpl : private MutexHolder, public t_pmfac_helper
    Reference<deployment::XPackageManager> m_xTmpMgr;
    Reference<deployment::XPackageManager> m_xBakMgr;
    typedef std::unordered_map<
        OUString, WeakReference<deployment::XPackageManager>,
        OUStringHash > t_string2weakref;
        OUString, WeakReference<deployment::XPackageManager> > t_string2weakref;
    t_string2weakref m_managers;

protected:
diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx
index bfac300..593815e 100644
--- a/desktop/source/deployment/registry/component/dp_component.cxx
+++ b/desktop/source/deployment/registry/component/dp_component.cxx
@@ -265,8 +265,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
    bool m_unorc_modified;
    bool bSwitchedRdbFiles;

    typedef std::unordered_map< OUString, Reference<XInterface>,
                                OUStringHash > t_string2object;
    typedef std::unordered_map< OUString, Reference<XInterface> > t_string2object;
    t_string2object m_backendObjects;

    // PackageRegistryBackend
diff --git a/desktop/source/deployment/registry/dp_registry.cxx b/desktop/source/deployment/registry/dp_registry.cxx
index 08859be..b3bad4b 100644
--- a/desktop/source/deployment/registry/dp_registry.cxx
+++ b/desktop/source/deployment/registry/dp_registry.cxx
@@ -182,7 +182,7 @@ void PackageRegistryImpl::insertBackend(
    Reference<deployment::XPackageRegistry> const & xBackend )
{
    m_allBackends.insert( xBackend );
    typedef std::unordered_set<OUString, OUStringHash> t_stringset;
    typedef std::unordered_set<OUString> t_stringset;
    t_stringset ambiguousFilters;

    const Sequence< Reference<deployment::XPackageTypeInfo> > packageTypes(
diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx
index fc35cd5..e201461c 100644
--- a/desktop/source/deployment/registry/executable/dp_executable.cxx
+++ b/desktop/source/deployment/registry/executable/dp_executable.cxx
@@ -75,8 +75,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
    };
    friend class ExecutablePackageImpl;

    typedef std::unordered_map< OUString, Reference<XInterface>,
                                OUStringHash > t_string2object;
    typedef std::unordered_map< OUString, Reference<XInterface> > t_string2object;

    // PackageRegistryBackend
    virtual Reference<deployment::XPackage> bindPackage_(
diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h
index 6aebe11..2115204 100644
--- a/desktop/source/deployment/registry/inc/dp_backend.h
+++ b/desktop/source/deployment/registry/inc/dp_backend.h
@@ -208,8 +208,7 @@ class PackageRegistryBackend
    //of bindPackage calls which are costly. Therefore we keep hard references in
    //the map now.
    typedef std::unordered_map<
        OUString, css::uno::Reference<css::deployment::XPackage>,
        OUStringHash > t_string2ref;
        OUString, css::uno::Reference<css::deployment::XPackage> > t_string2ref;
    t_string2ref m_bound;

protected:
diff --git a/desktop/source/migration/migration_impl.hxx b/desktop/source/migration/migration_impl.hxx
index 7da83d9..a15421e 100644
--- a/desktop/source/migration/migration_impl.hxx
+++ b/desktop/source/migration/migration_impl.hxx
@@ -120,8 +120,7 @@ struct MigrationItem
    }
};

typedef std::unordered_map< OUString, std::vector< MigrationItem >,
                            OUStringHash > MigrationHashMap;
typedef std::unordered_map< OUString, std::vector< MigrationItem > > MigrationHashMap;

/**
    information for the UI elements to be migrated for one module
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 3624f43..4917ad8 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2634,7 +2634,7 @@ struct CompareSvxAutocorrWordList
namespace {

typedef std::set<SvxAutocorrWord*, CompareSvxAutocorrWordList> AutocorrWordSetType;
typedef std::unordered_map<OUString, SvxAutocorrWord*, OUStringHash> AutocorrWordHashType;
typedef std::unordered_map<OUString, SvxAutocorrWord*> AutocorrWordHashType;

}

diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
index 885630c..191131b 100644
--- a/extensions/source/bibliography/framectr.cxx
+++ b/extensions/source/bibliography/framectr.cxx
@@ -100,7 +100,7 @@ static const DispatchInfo SupportedCommandsArray[] =
    { nullptr                         ,   0                               , false }
};

typedef std::unordered_map< OUString, CacheDispatchInfo, OUStringHash > CmdToInfoCache;
typedef std::unordered_map< OUString, CacheDispatchInfo > CmdToInfoCache;

const CmdToInfoCache& GetCommandToInfoCache()
{
diff --git a/extensions/source/ole/oleobjw.hxx b/extensions/source/ole/oleobjw.hxx
index c465302..dbf1b74 100644
--- a/extensions/source/ole/oleobjw.hxx
+++ b/extensions/source/ole/oleobjw.hxx
@@ -50,9 +50,9 @@ namespace ole_adapter
{


typedef std::unordered_map<OUString, pair<DISPID, unsigned short>, OUStringHash> DispIdMap;
typedef std::unordered_map<OUString, pair<DISPID, unsigned short>> DispIdMap;

typedef std::unordered_multimap<OUString, unsigned int, OUStringHash> TLBFuncIndexMap;
typedef std::unordered_multimap<OUString, unsigned int> TLBFuncIndexMap;

// This class wraps an IDispatch and maps XInvocation calls to IDispatch calls on the wrapped object.
// If m_TypeDescription is set then this class represents an UNO interface implemented in a COM component.
diff --git a/extensions/source/ole/unoobjw.hxx b/extensions/source/ole/unoobjw.hxx
index a92cf97..22036db 100644
--- a/extensions/source/ole/unoobjw.hxx
+++ b/extensions/source/ole/unoobjw.hxx
@@ -78,15 +78,13 @@ struct MemberInfo
typedef std::unordered_map
<
    OUString,
    DISPID,
    OUStringHash
    DISPID
> NameToIdMap;

typedef std::unordered_map
<
    OUString,
    bool,
    OUStringHash
    bool
> BadNameMap;

typedef std::unordered_map
diff --git a/extensions/source/propctrlr/eventhandler.cxx b/extensions/source/propctrlr/eventhandler.cxx
index 35fb2a3..1d21932 100644
--- a/extensions/source/propctrlr/eventhandler.cxx
+++ b/extensions/source/propctrlr/eventhandler.cxx
@@ -309,7 +309,7 @@ namespace pcr
    class EventHolder : public EventHolder_Base
    {
    private:
        typedef std::unordered_map< OUString, ScriptEventDescriptor, OUStringHash >  EventMap;
        typedef std::unordered_map< OUString, ScriptEventDescriptor >  EventMap;
        typedef std::map< EventId, EventMap::iterator >                                       EventMapIndexAccess;

        EventMap            m_aEventNameAccess;
diff --git a/extensions/source/propctrlr/eventhandler.hxx b/extensions/source/propctrlr/eventhandler.hxx
index c1d3c72..21e8776 100644
--- a/extensions/source/propctrlr/eventhandler.hxx
+++ b/extensions/source/propctrlr/eventhandler.hxx
@@ -65,7 +65,7 @@ namespace pcr
            const OString& _sUniqueBrowseId );
    };

    typedef std::unordered_map< OUString, EventDescription, OUStringHash >   EventMap;
    typedef std::unordered_map< OUString, EventDescription >   EventMap;


    //= EventHandler
diff --git a/extensions/source/propctrlr/pcrcommontypes.hxx b/extensions/source/propctrlr/pcrcommontypes.hxx
index 19c85ba..0fe62c6 100644
--- a/extensions/source/propctrlr/pcrcommontypes.hxx
+++ b/extensions/source/propctrlr/pcrcommontypes.hxx
@@ -30,7 +30,7 @@ namespace pcr
{


    typedef std::unordered_map< OUString, css::beans::Property, OUStringHash >
    typedef std::unordered_map< OUString, css::beans::Property >
        PropertyMap;


diff --git a/extensions/source/propctrlr/propcontroller.hxx b/extensions/source/propctrlr/propcontroller.hxx
index 8d937f7..efb18ec 100644
--- a/extensions/source/propctrlr/propcontroller.hxx
+++ b/extensions/source/propctrlr/propcontroller.hxx
@@ -110,9 +110,9 @@ namespace pcr
        typedef css::uno::Reference< css::inspection::XPropertyHandler >
                                                        PropertyHandlerRef;
        typedef std::vector< PropertyHandlerRef >     PropertyHandlerArray;
        typedef std::unordered_map< OUString, PropertyHandlerRef, OUStringHash >
        typedef std::unordered_map< OUString, PropertyHandlerRef >
                                                        PropertyHandlerRepository;
        typedef std::unordered_multimap< OUString, PropertyHandlerRef, OUStringHash >
        typedef std::unordered_multimap< OUString, PropertyHandlerRef >
                                                        PropertyHandlerMultiRepository;
        PropertyHandlerRepository                       m_aPropertyHandlers;
        PropertyHandlerMultiRepository                  m_aDependencyHandlers;
@@ -130,7 +130,7 @@ namespace pcr
        /// the property we're just committing
        OUString                                        m_sCommittingProperty;

        typedef std::unordered_map< OUString, sal_uInt16, OUStringHash >     HashString2Int16;
        typedef std::unordered_map< OUString, sal_uInt16 >     HashString2Int16;
        HashString2Int16                                m_aPageIds;

        bool        m_bContainerFocusListening;
diff --git a/filter/source/config/cache/cacheitem.hxx b/filter/source/config/cache/cacheitem.hxx
index e1b2dcd..b798f2d 100644
--- a/filter/source/config/cache/cacheitem.hxx
+++ b/filter/source/config/cache/cacheitem.hxx
@@ -146,9 +146,8 @@ class CacheItem : public ::comphelper::SequenceAsHashMap
/** @short  represent an item list of a FilterCache
            instance.
 */
typedef std::unordered_map< OUString                    ,
                            CacheItem                          ,
                            OUStringHash > CacheItemList;
typedef std::unordered_map< OUString,
                            CacheItem > CacheItemList;


/** @short  supports registration of multiple key to
@@ -163,9 +162,8 @@ typedef std::unordered_map< OUString                    ,
            there we need key-value pairs too, which can't be provided
            by a pure vector!
 */
typedef std::unordered_map< OUString                    ,
                            OUStringList                       ,
                            OUStringHash > CacheItemRegistration;
typedef std::unordered_map< OUString,
                            OUStringList > CacheItemRegistration;


/** @short  is used to collect all matching types of an URL
diff --git a/filter/source/config/cache/querytokenizer.hxx b/filter/source/config/cache/querytokenizer.hxx
index b6147ac..149ddba 100644
--- a/filter/source/config/cache/querytokenizer.hxx
+++ b/filter/source/config/cache/querytokenizer.hxx
@@ -45,9 +45,7 @@ namespace filter{
    @attention  This class is not threadsafe implemented. Because it's not necessary.
                But you have to make sure that it's not used as such :-)
 */
class QueryTokenizer : public std::unordered_map< OUString                    ,
                                                  OUString                    ,
                                                  OUStringHash >
class QueryTokenizer : public std::unordered_map< OUString, OUString >
{

    // member
diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx
index 34b7b20..e9e8fad 100644
--- a/filter/source/svg/svgfilter.hxx
+++ b/filter/source/svg/svgfilter.hxx
@@ -187,7 +187,7 @@ public:
    typedef Sequence< Reference< XInterface > >                                                                 ObjectSequence;

    typedef std::unordered_set< sal_Unicode, HashUChar >                                                    UCharSet;
    typedef std::unordered_map< OUString, UCharSet, OUStringHash >                                          UCharSetMap;
    typedef std::unordered_map< OUString, UCharSet >                                          UCharSetMap;
    typedef std::unordered_map< Reference< XInterface >, UCharSetMap, HashReferenceXInterface >             UCharSetMapMap;

    typedef std::unordered_map< Reference< XInterface >, OUString, HashReferenceXInterface >         UOStringMap;
diff --git a/filter/source/svg/svgwriter.hxx b/filter/source/svg/svgwriter.hxx
index 46fced7..fbfe54b 100644
--- a/filter/source/svg/svgwriter.hxx
+++ b/filter/source/svg/svgwriter.hxx
@@ -217,7 +217,7 @@ struct BulletListItemInfo
class SVGTextWriter final
{
  public:
    typedef std::unordered_map< OUString, BulletListItemInfo, OUStringHash >         BulletListItemInfoMap;
    typedef std::unordered_map< OUString, BulletListItemInfo >         BulletListItemInfoMap;

  private:
    SVGExport&                                  mrExport;
diff --git a/forms/source/component/Filter.hxx b/forms/source/component/Filter.hxx
index 1ce45ea..ff72251 100644
--- a/forms/source/component/Filter.hxx
+++ b/forms/source/component/Filter.hxx
@@ -65,7 +65,7 @@ namespace frm
        css::uno::Reference< css::sdbc::XConnection >                 m_xConnection;
        css::uno::Reference< css::awt::XWindow >                      m_xMessageParent;

        typedef std::unordered_map< OUString, OUString, OUStringHash > MapString2String;
        typedef std::unordered_map< OUString, OUString > MapString2String;
        MapString2String                m_aDisplayItemToValueItem;

        OUString                        m_aText;
diff --git a/forms/source/inc/InterfaceContainer.hxx b/forms/source/inc/InterfaceContainer.hxx
index 647ccc8..59d0ea5 100644
--- a/forms/source/inc/InterfaceContainer.hxx
+++ b/forms/source/inc/InterfaceContainer.hxx
@@ -74,7 +74,7 @@ namespace frm
    };

typedef std::vector<css::uno::Reference<css::uno::XInterface>> OInterfaceArray;
typedef std::unordered_multimap< OUString, css::uno::Reference<css::uno::XInterface>, OUStringHash > OInterfaceMap;
typedef std::unordered_multimap< OUString, css::uno::Reference<css::uno::XInterface> > OInterfaceMap;


// OInterfaceContainer
diff --git a/forms/source/inc/property.hxx b/forms/source/inc/property.hxx
index ea2ffca..346c6c6 100644
--- a/forms/source/inc/property.hxx
+++ b/forms/source/inc/property.hxx
@@ -317,7 +317,7 @@ namespace frm

class PropertyInfoService
{
    typedef std::unordered_map<OUString, sal_Int32, OUStringHash> PropertyMap;
    typedef std::unordered_map<OUString, sal_Int32> PropertyMap;
    static PropertyMap      s_AllKnownProperties;

public:
diff --git a/framework/inc/classes/protocolhandlercache.hxx b/framework/inc/classes/protocolhandlercache.hxx
index 3c75561..31859fe 100644
--- a/framework/inc/classes/protocolhandlercache.hxx
+++ b/framework/inc/classes/protocolhandlercache.hxx
@@ -60,12 +60,12 @@ struct FWI_DLLPUBLIC ProtocolHandler
    uno implementation names as value. Overloading of the index operator makes it possible
    to search for a key by using a full qualified URL on list of all possible pattern keys.
*/
typedef std::unordered_map<OUString, OUString, OUStringHash> PatternHash;
typedef std::unordered_map<OUString, OUString> PatternHash;

/**
    This hash holds protocol handler structs by her names.
*/
typedef std::unordered_map<OUString, ProtocolHandler, OUStringHash> HandlerHash;
typedef std::unordered_map<OUString, ProtocolHandler> HandlerHash;

/**
    @short          this hash makes it easy to find a protocol handler by using his uno implementation name.
diff --git a/framework/inc/uiconfiguration/graphicnameaccess.hxx b/framework/inc/uiconfiguration/graphicnameaccess.hxx
index b53a3de..7b64050 100644
--- a/framework/inc/uiconfiguration/graphicnameaccess.hxx
+++ b/framework/inc/uiconfiguration/graphicnameaccess.hxx
@@ -46,7 +46,7 @@ namespace framework
            virtual css::uno::Type SAL_CALL getElementType(  ) override;

        private:
            typedef std::unordered_map<OUString, css::uno::Reference< css::graphic::XGraphic >, OUStringHash> NameGraphicHashMap;
            typedef std::unordered_map<OUString, css::uno::Reference< css::graphic::XGraphic >> NameGraphicHashMap;
            NameGraphicHashMap              m_aNameToElementMap;
            css::uno::Sequence< OUString >  m_aSeq;
    };
diff --git a/framework/inc/uiconfiguration/imagetype.hxx b/framework/inc/uiconfiguration/imagetype.hxx
index d759674..783d1ce 100644
--- a/framework/inc/uiconfiguration/imagetype.hxx
+++ b/framework/inc/uiconfiguration/imagetype.hxx
@@ -27,11 +27,9 @@ namespace framework
{

typedef std::unordered_map< OUString,
                            OUString,
                            OUStringHash > CommandToImageNameMap;
                            OUString > CommandToImageNameMap;
typedef std::unordered_map< OUString,
                            bool,
                            OUStringHash > CommandMap;
                            bool > CommandMap;

}

diff --git a/framework/inc/uielement/commandinfo.hxx b/framework/inc/uielement/commandinfo.hxx
index a322c85..eed42f2 100644
--- a/framework/inc/uielement/commandinfo.hxx
+++ b/framework/inc/uielement/commandinfo.hxx
@@ -35,7 +35,7 @@ struct CommandInfo
    sal_Int16                   nImageInfo;
};

typedef std::unordered_map<OUString, CommandInfo, OUStringHash> CommandToInfoMap;
typedef std::unordered_map<OUString, CommandInfo> CommandToInfoMap;

} // namespace framework

diff --git a/framework/inc/uielement/menubarmanager.hxx b/framework/inc/uielement/menubarmanager.hxx
index e90e94d..68d445ff 100644
--- a/framework/inc/uielement/menubarmanager.hxx
+++ b/framework/inc/uielement/menubarmanager.hxx
@@ -63,7 +63,7 @@ struct PopupControllerEntry
    css::uno::WeakReference< css::frame::XDispatchProvider > m_xDispatchProvider;
};

typedef std::unordered_map< OUString, PopupControllerEntry, OUStringHash > PopupControllerCache;
typedef std::unordered_map< OUString, PopupControllerEntry > PopupControllerCache;

class MenuBarManager:
    protected cppu::BaseMutex,
diff --git a/framework/inc/uielement/toolbarmanager.hxx b/framework/inc/uielement/toolbarmanager.hxx
index d5f9e11..dcddc5a 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -148,7 +148,7 @@ class ToolBarManager : public ToolbarManager_Base
    protected:
        typedef std::unordered_map< sal_uInt16, css::uno::Reference< css::frame::XStatusListener > >  ToolBarControllerMap;
        typedef ::std::vector< css::uno::Reference< css::frame::XSubToolbarController > >             SubToolBarControllerVector;
        typedef std::unordered_map<OUString, SubToolBarControllerVector, OUStringHash>                                                SubToolBarToSubToolBarControllerMap;
        typedef std::unordered_map<OUString, SubToolBarControllerVector>                                                SubToolBarToSubToolBarControllerMap;

        bool m_bDisposed : 1,
             m_bAddedToTaskPaneList : 1,
diff --git a/framework/inc/uielement/uicommanddescription.hxx b/framework/inc/uielement/uicommanddescription.hxx
index c8e5ad0..92a2362 100644
--- a/framework/inc/uielement/uicommanddescription.hxx
+++ b/framework/inc/uielement/uicommanddescription.hxx
@@ -74,12 +74,10 @@ private:

public:
        typedef std::unordered_map< OUString,
                                    OUString,
                                    OUStringHash > ModuleToCommandFileMap;
                                    OUString > ModuleToCommandFileMap;

        typedef std::unordered_map< OUString,
                                    css::uno::Reference< css::container::XNameAccess >,
                                    OUStringHash > UICommandsHashMap;
                                    css::uno::Reference< css::container::XNameAccess > > UICommandsHashMap;

    protected:
        UICommandDescription( const css::uno::Reference< css::uno::XComponentContext>& rxContext, bool  );
diff --git a/framework/inc/uifactory/configurationaccessfactorymanager.hxx b/framework/inc/uifactory/configurationaccessfactorymanager.hxx
index dcdc60e..edcc7f7 100644
--- a/framework/inc/uifactory/configurationaccessfactorymanager.hxx
+++ b/framework/inc/uifactory/configurationaccessfactorymanager.hxx
@@ -58,9 +58,7 @@ namespace framework {

    private:
        class FactoryManagerMap : public std::unordered_map<OUString,
                                                            OUString,
                                                            OUStringHash
                                                            >
                                                            OUString>
        {
        };

diff --git a/framework/inc/uifactory/factoryconfiguration.hxx b/framework/inc/uifactory/factoryconfiguration.hxx
index 1b34b38..dcbf4da 100644
--- a/framework/inc/uifactory/factoryconfiguration.hxx
+++ b/framework/inc/uifactory/factoryconfiguration.hxx
@@ -72,8 +72,7 @@ private:
        ControllerInfo(){}
    };
    class MenuControllerMap : public std::unordered_map< OUString,
                                                         ControllerInfo,
                                                         OUStringHash >
                                                         ControllerInfo >
    {
    };

diff --git a/framework/inc/xml/imagesdocumenthandler.hxx b/framework/inc/xml/imagesdocumenthandler.hxx
index fe13459..cd41974 100644
--- a/framework/inc/xml/imagesdocumenthandler.hxx
+++ b/framework/inc/xml/imagesdocumenthandler.hxx
@@ -89,9 +89,7 @@ class OReadImagesDocumentHandler : public ::cppu::WeakImplHelper< css::xml::sax:
    private:
        OUString getErrorLineString();

        class ImageHashMap : public std::unordered_map< OUString     ,
                                                        Image_XML_Entry        ,
                                                        OUStringHash >
        class ImageHashMap : public std::unordered_map< OUString, Image_XML_Entry >
        {
        };

diff --git a/framework/inc/xml/statusbardocumenthandler.hxx b/framework/inc/xml/statusbardocumenthandler.hxx
index 896c71f..b0cb57c 100644
--- a/framework/inc/xml/statusbardocumenthandler.hxx
+++ b/framework/inc/xml/statusbardocumenthandler.hxx
@@ -88,8 +88,7 @@ class FWE_DLLPUBLIC OReadStatusBarDocumentHandler :
        OUString getErrorLineString();

        class StatusBarHashMap : public std::unordered_map<OUString,
                                                           StatusBar_XML_Entry,
                                                           OUStringHash >
                                                           StatusBar_XML_Entry >
        {
        };

diff --git a/framework/inc/xml/toolboxdocumenthandler.hxx b/framework/inc/xml/toolboxdocumenthandler.hxx
index 7dc7133..c2be53d 100644
--- a/framework/inc/xml/toolboxdocumenthandler.hxx
+++ b/framework/inc/xml/toolboxdocumenthandler.hxx
@@ -87,8 +87,7 @@ class FWE_DLLPUBLIC OReadToolBoxDocumentHandler :
        OUString getErrorLineString();

        class ToolBoxHashMap : public std::unordered_map<OUString,
                                                         ToolBox_XML_Entry,
                                                         OUStringHash >
                                                         ToolBox_XML_Entry>
        {
        };

diff --git a/framework/source/dispatch/dispatchinformationprovider.cxx b/framework/source/dispatch/dispatchinformationprovider.cxx
index 0948f63..dc0f8e38 100644
--- a/framework/source/dispatch/dispatchinformationprovider.cxx
+++ b/framework/source/dispatch/dispatchinformationprovider.cxx
@@ -77,7 +77,7 @@ css::uno::Sequence< css::frame::DispatchInformation > SAL_CALL DispatchInformati
    sal_Int32                                                                             c1        = lProvider.getLength();
    sal_Int32                                                                             i1        = 0;

    std::unordered_map<OUString, css::frame::DispatchInformation, OUStringHash> lInfos;
    std::unordered_map<OUString, css::frame::DispatchInformation> lInfos;

    for (i1=0; i1<c1; ++i1)
    {
diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index 89a0377..3017197 100644
--- a/framework/source/fwe/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -228,10 +228,10 @@ class AddonsOptions_Impl : public ConfigItem
            void addImage(ImageSize eSize, const Image &rImage, const OUString &rURL);
        };

        typedef std::unordered_map< OUString, ImageEntry, OUStringHash > ImageManager;
        typedef std::unordered_map< OUString, sal_uInt32, OUStringHash > StringToIndexMap;
        typedef std::unordered_map< OUString, ImageEntry > ImageManager;
        typedef std::unordered_map< OUString, sal_uInt32 > StringToIndexMap;
        typedef std::vector< Sequence< Sequence< PropertyValue > > > AddonToolBars;
        typedef std::unordered_map< OUString, MergeToolbarInstructionContainer, OUStringHash > ToolbarMergingInstructions;
        typedef std::unordered_map< OUString, MergeToolbarInstructionContainer > ToolbarMergingInstructions;

        /*-****************************************************************************************************
            @short      return list of key names of our configuration management which represent our module tree
diff --git a/framework/source/inc/accelerators/acceleratorcache.hxx b/framework/source/inc/accelerators/acceleratorcache.hxx
index 28302e8..fc295ae 100644
--- a/framework/source/inc/accelerators/acceleratorcache.hxx
+++ b/framework/source/inc/accelerators/acceleratorcache.hxx
@@ -52,7 +52,7 @@ class AcceleratorCache
            commands -> keys
        */
        typedef ::std::vector< css::awt::KeyEvent > TKeyList;
        typedef std::unordered_map<OUString, TKeyList, OUStringHash> TCommand2Keys;
        typedef std::unordered_map<OUString, TKeyList> TCommand2Keys;

        /** TODO document me
            keys -> commands
diff --git a/framework/source/inc/accelerators/keymapping.hxx b/framework/source/inc/accelerators/keymapping.hxx
index 639d6e0..0f610e5 100644
--- a/framework/source/inc/accelerators/keymapping.hxx
+++ b/framework/source/inc/accelerators/keymapping.hxx
@@ -52,7 +52,7 @@ class KeyMapping
        };

        /** @short  hash structure to map identifier to key codes. */
        typedef std::unordered_map<OUString, sal_Int16, OUStringHash> Identifier2CodeHash;
        typedef std::unordered_map<OUString, sal_Int16> Identifier2CodeHash;

        /** @short  hash structure to map key codes to identifier. */
        typedef std::unordered_map<sal_Int16, OUString> Code2IdentifierHash;
diff --git a/framework/source/inc/accelerators/storageholder.hxx b/framework/source/inc/accelerators/storageholder.hxx
index 0e5eb0c..43d7e1b 100644
--- a/framework/source/inc/accelerators/storageholder.hxx
+++ b/framework/source/inc/accelerators/storageholder.hxx
@@ -56,9 +56,8 @@ class StorageHolder final
        };

        /** @short  TODO */
        typedef std::unordered_map< OUString                    ,
                                    TStorageInfo                       ,
                                    OUStringHash > TPath2StorageInfo;
        typedef std::unordered_map< OUString,
                                    TStorageInfo > TPath2StorageInfo;

    // member
    private:
diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx
index 37d8032..93aa48f 100644
--- a/framework/source/services/frame.cxx
+++ b/framework/source/services/frame.cxx
@@ -419,7 +419,7 @@ private:

    WindowCommandDispatch*                                                  m_pWindowCommandDispatch;

    typedef std::unordered_map<OUString, css::beans::Property, OUStringHash> TPropInfoHash;
    typedef std::unordered_map<OUString, css::beans::Property> TPropInfoHash;
    TPropInfoHash m_lProps;

    ListenerHash m_lSimpleChangeListener;
diff --git a/framework/source/services/pathsettings.cxx b/framework/source/services/pathsettings.cxx
index 243e36f..26bd6bf 100644
--- a/framework/source/services/pathsettings.cxx
+++ b/framework/source/services/pathsettings.cxx
@@ -136,7 +136,7 @@ class PathSettings : private cppu::BaseMutex
            bool bIsReadonly;
    };

    typedef std::unordered_map<OUString, PathSettings::PathInfo, OUStringHash> PathHash;
    typedef std::unordered_map<OUString, PathSettings::PathInfo> PathHash;

    enum EChangeOp
    {
diff --git a/framework/source/services/substitutepathvars.cxx b/framework/source/services/substitutepathvars.cxx
index d851deb..ce7e0b4 100644
--- a/framework/source/services/substitutepathvars.cxx
+++ b/framework/source/services/substitutepathvars.cxx
@@ -180,7 +180,7 @@ protected:
    OUString const & impl_getSubstituteVariableValue( const OUString& variable );

private:
    typedef std::unordered_map<OUString, PreDefVariable, OUStringHash>
    typedef std::unordered_map<OUString, PreDefVariable>
        VarNameToIndexMap;

    VarNameToIndexMap            m_aPreDefVarMap;         // Mapping from pre-def variable names to enum for array access
diff --git a/framework/source/uiconfiguration/CommandImageResolver.hxx b/framework/source/uiconfiguration/CommandImageResolver.hxx
index 8d5a3c9..8b5dbe3a 100644
--- a/framework/source/uiconfiguration/CommandImageResolver.hxx
+++ b/framework/source/uiconfiguration/CommandImageResolver.hxx
@@ -28,7 +28,7 @@ namespace vcl
class CommandImageResolver final
{
private:
    typedef std::unordered_map<OUString, OUString, OUStringHash > CommandToImageNameMap;
    typedef std::unordered_map<OUString, OUString > CommandToImageNameMap;

    CommandToImageNameMap m_aCommandToImageNameMap;
    std::vector<OUString> m_aImageCommandNameVector;
diff --git a/framework/source/uiconfiguration/image.h b/framework/source/uiconfiguration/image.h
index 9b0542f..1005fc3 100644
--- a/framework/source/uiconfiguration/image.h
+++ b/framework/source/uiconfiguration/image.h
@@ -45,7 +45,7 @@ struct ImageAryData

struct ImplImageList
{
    typedef std::unordered_map< OUString, ImageAryData *, OUStringHash >
    typedef std::unordered_map< OUString, ImageAryData * >
        ImageAryDataNameHash;

    std::vector<ImageAryData *>        maImages;
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.hxx b/framework/source/uiconfiguration/imagemanagerimpl.hxx
index 8f4d394..34cc99d 100644
--- a/framework/source/uiconfiguration/imagemanagerimpl.hxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.hxx
@@ -147,8 +147,7 @@ namespace framework
            void clear();

            typedef std::unordered_map< OUString,
                                        sal_Bool,
                                        OUStringHash > ImageNameMap;
                                        sal_Bool > ImageNameMap;

            enum NotifyOp
            {
diff --git a/framework/source/uiconfiguration/moduleuicfgsupplier.cxx b/framework/source/uiconfiguration/moduleuicfgsupplier.cxx
index 14c3d09..d10f944 100644
--- a/framework/source/uiconfiguration/moduleuicfgsupplier.cxx
+++ b/framework/source/uiconfiguration/moduleuicfgsupplier.cxx
@@ -86,7 +86,7 @@ public:
private:
    virtual void SAL_CALL disposing() final override;

    typedef std::unordered_map< OUString, css::uno::Reference< css::ui::XModuleUIConfigurationManager2 >, OUStringHash > ModuleToModuleCfgMgr;
    typedef std::unordered_map< OUString, css::uno::Reference< css::ui::XModuleUIConfigurationManager2 > > ModuleToModuleCfgMgr;

//TODO_AS            void impl_initStorages();

diff --git a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
index fcde327..12867b1 100644
--- a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
@@ -170,7 +170,7 @@ private:
        css::uno::Reference< css::container::XIndexAccess > xSettings;
    };

    typedef std::unordered_map< OUString, UIElementData, OUStringHash > UIElementDataHashMap;
    typedef std::unordered_map< OUString, UIElementData > UIElementDataHashMap;

    struct UIElementType
    {
@@ -187,7 +187,7 @@ private:

    typedef std::vector< UIElementType > UIElementTypesVector;
    typedef std::vector< css::ui::ConfigurationEvent > ConfigEventNotifyContainer;
    typedef std::unordered_map< OUString, UIElementInfo, OUStringHash > UIElementInfoHashMap;
    typedef std::unordered_map< OUString, UIElementInfo > UIElementInfoHashMap;

    void            impl_Initialize();
    void            implts_notifyContainerListener( const css::ui::ConfigurationEvent& aEvent, NotifyOp eOp );
diff --git a/framework/source/uiconfiguration/uicategorydescription.cxx b/framework/source/uiconfiguration/uicategorydescription.cxx
index 50ea375..d6712cb 100644
--- a/framework/source/uiconfiguration/uicategorydescription.cxx
+++ b/framework/source/uiconfiguration/uicategorydescription.cxx
@@ -86,8 +86,7 @@ class ConfigurationAccess_UICategory : public ::cppu::WeakImplHelper<XNameAccess

    private:
        typedef std::unordered_map< OUString,
                                    OUString,
                                    OUStringHash > IdToInfoCache;
                                    OUString > IdToInfoCache;

        void initializeConfigAccess();

diff --git a/framework/source/uiconfiguration/uiconfigurationmanager.cxx b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
index 16a3ca5..01c4bec 100644
--- a/framework/source/uiconfiguration/uiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
@@ -151,7 +151,7 @@ private:

    struct UIElementType;
    friend struct UIElementType;
    typedef std::unordered_map< OUString, UIElementData, OUStringHash > UIElementDataHashMap;
    typedef std::unordered_map< OUString, UIElementData > UIElementDataHashMap;

    struct UIElementType
    {
@@ -168,7 +168,7 @@ private:

    typedef std::vector< UIElementType > UIElementTypesVector;
    typedef std::vector< css::ui::ConfigurationEvent > ConfigEventNotifyContainer;
    typedef std::unordered_map< OUString, UIElementInfo, OUStringHash > UIElementInfoHashMap;
    typedef std::unordered_map< OUString, UIElementInfo > UIElementInfoHashMap;

    void            impl_Initialize();
    void            implts_notifyContainerListener( const css::ui::ConfigurationEvent& aEvent, NotifyOp eOp );
diff --git a/framework/source/uiconfiguration/windowstateconfiguration.cxx b/framework/source/uiconfiguration/windowstateconfiguration.cxx
index 99a6464..4cf804a 100644
--- a/framework/source/uiconfiguration/windowstateconfiguration.cxx
+++ b/framework/source/uiconfiguration/windowstateconfiguration.cxx
@@ -199,8 +199,7 @@ class ConfigurationAccess_WindowState : public  ::cppu::WeakImplHelper< XNameCon

    private:
        typedef std::unordered_map< OUString,
                                    WindowStateInfo,
                                    OUStringHash > ResourceURLToInfoCache;
                                    WindowStateInfo > ResourceURLToInfoCache;

        osl::Mutex                        m_aMutex;
        OUString                          m_aConfigWindowAccess;
@@ -1265,12 +1264,10 @@ public:
    virtual sal_Bool SAL_CALL hasElements() override;

    typedef std::unordered_map< OUString,
                                OUString,
                                OUStringHash > ModuleToWindowStateFileMap;
                                OUString > ModuleToWindowStateFileMap;

    typedef std::unordered_map< OUString,
                                css::uno::Reference< css::container::XNameAccess >,
                                OUStringHash > ModuleToWindowStateConfigHashMap;
                                css::uno::Reference< css::container::XNameAccess > > ModuleToWindowStateConfigHashMap;

private:
    css::uno::Reference< css::uno::XComponentContext>         m_xContext;
diff --git a/framework/source/uielement/controlmenucontroller.cxx b/framework/source/uielement/controlmenucontroller.cxx
index 5357e69..83282c2 100644
--- a/framework/source/uielement/controlmenucontroller.cxx
+++ b/framework/source/uielement/controlmenucontroller.cxx
@@ -147,8 +147,7 @@ private:
    virtual void impl_setPopupMenu() override;

    class UrlToDispatchMap : public std::unordered_map< OUString,
                                                        uno::Reference< frame::XDispatch >,
                                                        OUStringHash >
                                                        uno::Reference< frame::XDispatch > >
    {
        public:
            void free()
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index e004b69..dca1f9f 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -73,7 +73,7 @@ static const char STATIC_INTERNAL_CMD_PART[]    = ".cmd:";
namespace framework
{

typedef std::unordered_map< OUString, OUString, OUStringHash > ToolbarHashMap;
typedef std::unordered_map< OUString, OUString > ToolbarHashMap;

struct ToolBarEntry
{
diff --git a/framework/source/uielement/uicommanddescription.cxx b/framework/source/uielement/uicommanddescription.cxx
index 62b1fa3..8659c18 100644
--- a/framework/source/uielement/uicommanddescription.cxx
+++ b/framework/source/uielement/uicommanddescription.cxx
@@ -126,8 +126,7 @@ class ConfigurationAccess_UICommand : // Order is necessary for right initializa

    private:
        typedef std::unordered_map< OUString,
                                    CmdToInfoMap,
                                    OUStringHash > CommandToInfoCache;
                                    CmdToInfoMap > CommandToInfoCache;

        void initializeConfigAccess();

diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx
index c57514c..4755e37 100644
--- a/i18nlangtag/source/languagetag/languagetag.cxx
+++ b/i18nlangtag/source/languagetag/languagetag.cxx
@@ -46,7 +46,7 @@ struct theEmptyLocale : public rtl::Static< lang::Locale, theEmptyLocale > {};
struct theEmptyBcp47 : public rtl::Static< OUString, theEmptyBcp47 > {};
}

typedef std::unordered_set< OUString, OUStringHash > KnownTagSet;
typedef std::unordered_set< OUString > KnownTagSet;
namespace {
struct theKnowns : public rtl::Static< KnownTagSet, theKnowns > {};
struct theMutex : public rtl::Static< osl::Mutex, theMutex > {};
diff --git a/i18npool/inc/breakiterator_unicode.hxx b/i18npool/inc/breakiterator_unicode.hxx
index 1dc60ca..7ecac0f 100644
--- a/i18npool/inc/breakiterator_unicode.hxx
+++ b/i18npool/inc/breakiterator_unicode.hxx
@@ -101,7 +101,7 @@ protected:
        sal_Int16 rBreakType, sal_Int16 rWordType, const sal_Char* name, const OUString& rText);

public:
    typedef std::unordered_map< OString, std::shared_ptr< BI_ValueData >, OStringHash > BIMap;
    typedef std::unordered_map< OString, std::shared_ptr< BI_ValueData > > BIMap;
};

}
diff --git a/idl/inc/hash.hxx b/idl/inc/hash.hxx
index 437adfc..fb3ba32 100644
--- a/idl/inc/hash.hxx
+++ b/idl/inc/hash.hxx
@@ -46,7 +46,7 @@ public:
class SvStringHashTable
{
    std::unordered_map<sal_uInt32, std::unique_ptr<SvStringHashEntry>> maInt2EntryMap;
    std::unordered_map<OString, sal_uInt32, OStringHash> maString2IntMap;
    std::unordered_map<OString, sal_uInt32> maString2IntMap;
    sal_uInt32 mnNextId = 0;

public:
diff --git a/idlc/inc/options.hxx b/idlc/inc/options.hxx
index 4c30bcc..6cd9080 100644
--- a/idlc/inc/options.hxx
+++ b/idlc/inc/options.hxx
@@ -22,9 +22,7 @@

#include <idlctypes.hxx>

typedef std::unordered_map< OString,
                         OString,
                         OStringHash > OptionMap;
typedef std::unordered_map< OString, OString > OptionMap;

class IllegalArgument
{
diff --git a/include/basic/codecompletecache.hxx b/include/basic/codecompletecache.hxx
index 00151e8..c2b6502 100644
--- a/include/basic/codecompletecache.hxx
+++ b/include/basic/codecompletecache.hxx
@@ -28,9 +28,9 @@
#include <unordered_map>
#include <vector>

typedef std::unordered_map< OUString, OUString, OUStringHash > CodeCompleteVarTypes;
typedef std::unordered_map< OUString, OUString > CodeCompleteVarTypes;
/* variable name, type */
typedef std::unordered_map< OUString, CodeCompleteVarTypes, OUStringHash > CodeCompleteVarScopes;
typedef std::unordered_map< OUString, CodeCompleteVarTypes > CodeCompleteVarScopes;
/* procedure, CodeCompleteVarTypes */

class BASIC_DLLPUBLIC CodeCompleteOptions
diff --git a/include/codemaker/generatedtypeset.hxx b/include/codemaker/generatedtypeset.hxx
index 21c9d0b..e9859f3 100644
--- a/include/codemaker/generatedtypeset.hxx
+++ b/include/codemaker/generatedtypeset.hxx
@@ -61,7 +61,7 @@ private:
    GeneratedTypeSet(GeneratedTypeSet &) = delete;
    void operator =(const GeneratedTypeSet&) = delete;

    std::unordered_set< OString, OStringHash > m_set;
    std::unordered_set< OString > m_set;
};

}
diff --git a/include/comphelper/PropertyInfoHash.hxx b/include/comphelper/PropertyInfoHash.hxx
index da1dddf..1e1374f 100644
--- a/include/comphelper/PropertyInfoHash.hxx
+++ b/include/comphelper/PropertyInfoHash.hxx
@@ -44,11 +44,9 @@ namespace comphelper
}

typedef std::unordered_map < OUString,
                        ::comphelper::PropertyInfo const *,
                        OUStringHash > PropertyInfoHash;
                        ::comphelper::PropertyInfo const * > PropertyInfoHash;
typedef std::unordered_map < OUString,
                        ::comphelper::PropertyData*,
                        OUStringHash > PropertyDataHash;
                        ::comphelper::PropertyData* > PropertyDataHash;
#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/comphelper/sequenceashashmap.hxx b/include/comphelper/sequenceashashmap.hxx
index b4b2991..35cdabc 100644
--- a/include/comphelper/sequenceashashmap.hxx
+++ b/include/comphelper/sequenceashashmap.hxx
@@ -40,7 +40,7 @@ namespace comphelper{
            such name sequences very easy ...
 */

using SequenceAsHashMapBase = std::unordered_map<OUString, css::uno::Any, OUStringHash>;
using SequenceAsHashMapBase = std::unordered_map<OUString, css::uno::Any>;

class SAL_WARN_UNUSED COMPHELPER_DLLPUBLIC SequenceAsHashMap
{
diff --git a/include/formula/FormulaCompiler.hxx b/include/formula/FormulaCompiler.hxx
index 64e727b..852e996 100644
--- a/include/formula/FormulaCompiler.hxx
+++ b/include/formula/FormulaCompiler.hxx
@@ -66,8 +66,8 @@ struct FormulaArrayStack
};


typedef std::unordered_map< OUString, OpCode, OUStringHash > OpCodeHashMap;
typedef std::unordered_map< OUString, OUString, OUStringHash > ExternalHashMap;
typedef std::unordered_map< OUString, OpCode > OpCodeHashMap;
typedef std::unordered_map< OUString, OUString > ExternalHashMap;

class FORMULA_DLLPUBLIC FormulaCompiler
{
diff --git a/include/rtl/string.hxx b/include/rtl/string.hxx
index c116250..6ea56c3 100644
--- a/include/rtl/string.hxx
+++ b/include/rtl/string.hxx
@@ -1912,6 +1912,27 @@ using ::rtl::OStringHash;
using ::rtl::OStringLiteral;
#endif

/// @cond INTERNAL
/**
  Make OString hashable by default for use in STL containers.

  @since LibreOffice 6.0
*/
#if defined LIBO_INTERNAL_ONLY
namespace std {

template<>
struct hash<::rtl::OString>
{
    std::size_t operator()(::rtl::OString const & s) const
    { return std::size_t(s.hashCode()); }
};

}

#endif
/// @endcond

#endif // INCLUDED_RTL_STRING_HXX

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/rtl/ustring.hxx b/include/rtl/ustring.hxx
index c6ce9a7..96afdc4 100644
--- a/include/rtl/ustring.hxx
+++ b/include/rtl/ustring.hxx
@@ -3703,6 +3703,27 @@ using ::rtl::OUStringLiteral;
using ::rtl::OUStringLiteral1;
#endif

/// @cond INTERNAL
/**
  Make OUString hashable by default for use in STL containers.

  @since LibreOffice 6.0
*/
#if defined LIBO_INTERNAL_ONLY
namespace std {

template<>
struct hash<::rtl::OUString>
{
    std::size_t operator()(::rtl::OUString const & s) const
    { return std::size_t(s.hashCode()); }
};

}

#endif
/// @endcond

#endif /* _RTL_USTRING_HXX */

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/sfx2/sidebar/Theme.hxx b/include/sfx2/sidebar/Theme.hxx
index ba71420..31e9a3f 100644
--- a/include/sfx2/sidebar/Theme.hxx
+++ b/include/sfx2/sidebar/Theme.hxx
@@ -189,7 +189,7 @@ private:
    bool mbIsHighContrastMode;
    bool mbIsHighContrastModeSetManually;

    typedef std::unordered_map<rtl::OUString,ThemeItem, rtl::OUStringHash> PropertyNameToIdMap;
    typedef std::unordered_map<rtl::OUString,ThemeItem> PropertyNameToIdMap;
    PropertyNameToIdMap maPropertyNameToIdMap;
    typedef std::vector<rtl::OUString> PropertyIdToNameMap;
    PropertyIdToNameMap maPropertyIdToNameMap;
diff --git a/include/svl/IndexedStyleSheets.hxx b/include/svl/IndexedStyleSheets.hxx
index e6ae8d1..58b3c26 100644
--- a/include/svl/IndexedStyleSheets.hxx
+++ b/include/svl/IndexedStyleSheets.hxx
@@ -178,7 +178,7 @@ private:
     *
     * @internal
     * Must be an unordered map. A regular map is too slow for some files. */
    typedef std::unordered_multimap<rtl::OUString, unsigned, rtl::OUStringHash> MapType;
    typedef std::unordered_multimap<rtl::OUString, unsigned> MapType;

    /** A map which stores the positions of style sheets by their name */
    MapType mPositionsByName;
diff --git a/include/svtools/framestatuslistener.hxx b/include/svtools/framestatuslistener.hxx
index 4b521e6..f2d4d75 100644
--- a/include/svtools/framestatuslistener.hxx
+++ b/include/svtools/framestatuslistener.hxx
@@ -81,8 +81,7 @@ class SVT_DLLPUBLIC FrameStatusListener : public css::frame::XStatusListener,
        };

        typedef std::unordered_map< OUString,
                                    css::uno::Reference< css::frame::XDispatch >,
                                    OUStringHash > URLToDispatchMap;
                                    css::uno::Reference< css::frame::XDispatch > > URLToDispatchMap;

        bool                                                      m_bDisposed : 1;
        css::uno::Reference< css::frame::XFrame >                 m_xFrame;
diff --git a/include/svtools/statusbarcontroller.hxx b/include/svtools/statusbarcontroller.hxx
index 2df6ac6..1def30e 100644
--- a/include/svtools/statusbarcontroller.hxx
+++ b/include/svtools/statusbarcontroller.hxx
@@ -101,8 +101,7 @@ class SVT_DLLPUBLIC StatusbarController :
        };

        typedef std::unordered_map< OUString,
                                    css::uno::Reference< css::frame::XDispatch >,
                                    OUStringHash > URLToDispatchMap;
                                    css::uno::Reference< css::frame::XDispatch > > URLToDispatchMap;

        // methods to support status forwarder, known by the old sfx2 toolbox controller implementation
        void addStatusListener( const OUString& aCommandURL );
diff --git a/include/svtools/toolboxcontroller.hxx b/include/svtools/toolboxcontroller.hxx
index a0f3c6b..ce60791 100644
--- a/include/svtools/toolboxcontroller.hxx
+++ b/include/svtools/toolboxcontroller.hxx
@@ -150,8 +150,7 @@ class SVT_DLLPUBLIC ToolboxController :
        DECL_STATIC_LINK( ToolboxController, ExecuteHdl_Impl, void*, void );

        typedef std::unordered_map< OUString,
                                    css::uno::Reference< css::frame::XDispatch >,
                                    OUStringHash > URLToDispatchMap;
                                    css::uno::Reference< css::frame::XDispatch > > URLToDispatchMap;

        // methods to support status forwarder, known by the old sfx2 toolbox controller implementation
        void addStatusListener( const OUString& aCommandURL );
diff --git a/include/svx/ShapeTypeHandler.hxx b/include/svx/ShapeTypeHandler.hxx
index 9a62f61..53bcd53 100644
--- a/include/svx/ShapeTypeHandler.hxx
+++ b/include/svx/ShapeTypeHandler.hxx
@@ -167,8 +167,7 @@ private:
    /** This hash map allows the fast look up of a type descriptor for a
        given service name.
    */
    typedef std::unordered_map<OUString,ShapeTypeId,
                               OUStringHash> tServiceNameToSlotId;
    typedef std::unordered_map<OUString,ShapeTypeId> tServiceNameToSlotId;
    mutable tServiceNameToSlotId maServiceNameToSlotId;

    /**  Determine the slot id of the specified shape type.  With this id
diff --git a/include/svx/sdasitm.hxx b/include/svx/sdasitm.hxx
index 8bf5eab..3af42c9 100644
--- a/include/svx/sdasitm.hxx
+++ b/include/svx/sdasitm.hxx
@@ -41,7 +41,7 @@ private:
        size_t operator()( const SdrCustomShapeGeometryItem::PropertyPair& ) const;
    };
    typedef std::unordered_map <PropertyPair, sal_Int32, PropertyPairHash> PropertyPairHashMap;
    typedef std::unordered_map<OUString, sal_Int32, OUStringHash> PropertyHashMap;
    typedef std::unordered_map<OUString, sal_Int32> PropertyHashMap;

    PropertyHashMap     aPropHashMap;
    PropertyPairHashMap aPropPairHashMap;
diff --git a/include/toolkit/controls/eventcontainer.hxx b/include/toolkit/controls/eventcontainer.hxx
index 859b06e..65d0418 100644
--- a/include/toolkit/controls/eventcontainer.hxx
+++ b/include/toolkit/controls/eventcontainer.hxx
@@ -36,7 +36,7 @@ class ScriptEventContainer : public ::cppu::WeakImplHelper<
                                        css::container::XNameContainer,
                                        css::container::XContainer >
{
    std::unordered_map< OUString, css::uno::Any, OUStringHash>
    std::unordered_map< OUString, css::uno::Any>
                   mHashMap;
    css::uno::Type mType;

diff --git a/include/tools/inetmime.hxx b/include/tools/inetmime.hxx
index 1c51a4f..75af8b4 100644
--- a/include/tools/inetmime.hxx
+++ b/include/tools/inetmime.hxx
@@ -71,7 +71,7 @@ struct INetContentTypeParameter
    there will only be one item for the complete parameter, with the attribute
    name lacking any section suffix.
 */
typedef std::unordered_map<OString, INetContentTypeParameter, OStringHash>
typedef std::unordered_map<OString, INetContentTypeParameter>
    INetContentTypeParameterList;


diff --git a/include/unotools/fontcfg.hxx b/include/unotools/fontcfg.hxx
index 4b388b7..98aa1967 100644
--- a/include/unotools/fontcfg.hxx
+++ b/include/unotools/fontcfg.hxx
@@ -108,7 +108,7 @@ class UNOTOOLS_DLLPUBLIC DefaultFontConfiguration
        mutable css::uno::Reference< css::container::XNameAccess > xAccess;
    };

    std::unordered_map< OUString, LocaleAccess, OUStringHash > m_aConfig;
    std::unordered_map< OUString, LocaleAccess > m_aConfig;

    OUString tryLocale( const OUString& rBcp47, const OUString& rType ) const;

@@ -153,8 +153,8 @@ private:

        LocaleSubst() : bConfigRead( false ) {}
    };
    std::unordered_map< OUString, LocaleSubst, OUStringHash > m_aSubst;
    typedef std::unordered_set< OUString, OUStringHash > UniqueSubstHash;
    std::unordered_map< OUString, LocaleSubst > m_aSubst;
    typedef std::unordered_set< OUString > UniqueSubstHash;
    mutable UniqueSubstHash maSubstHash;

    void fillSubstVector( const css::uno::Reference< css::container::XNameAccess >& rFont,
diff --git a/include/vbahelper/vbaeventshelperbase.hxx b/include/vbahelper/vbaeventshelperbase.hxx
index b5c09d8..042ad74 100644
--- a/include/vbahelper/vbaeventshelperbase.hxx
+++ b/include/vbahelper/vbaeventshelperbase.hxx
@@ -216,7 +216,7 @@ protected:

private:
    typedef std::map< sal_Int32, EventHandlerInfo > EventHandlerInfoMap;
    typedef std::unordered_map< OUString, ModulePathMap, OUStringHash > EventHandlerPathMap;
    typedef std::unordered_map< OUString, ModulePathMap > EventHandlerPathMap;

    EventHandlerInfoMap maEventInfos;
    EventHandlerPathMap maEventPaths;
diff --git a/include/vcl/configsettings.hxx b/include/vcl/configsettings.hxx
index 3982418..50bba28 100644
--- a/include/vcl/configsettings.hxx
+++ b/include/vcl/configsettings.hxx
@@ -28,7 +28,7 @@

namespace vcl
{
    typedef std::unordered_map< OUString, OUString, OUStringHash > OUStrMap;
    typedef std::unordered_map< OUString, OUString > OUStrMap;
    class SmallOUStrMap : public OUStrMap { public: SmallOUStrMap() : OUStrMap(1) {} };


@@ -37,7 +37,7 @@ namespace vcl
    class VCL_DLLPUBLIC SettingsConfigItem : public ::utl::ConfigItem
    {
    private:
        std::unordered_map< OUString, SmallOUStrMap, OUStringHash > m_aSettings;
        std::unordered_map< OUString, SmallOUStrMap > m_aSettings;

        virtual void Notify( const css::uno::Sequence< OUString >& rPropertyNames ) override;

diff --git a/include/vcl/ppdparser.hxx b/include/vcl/ppdparser.hxx
index 227c617..a3a04b8 100644
--- a/include/vcl/ppdparser.hxx
+++ b/include/vcl/ppdparser.hxx
@@ -61,7 +61,7 @@ class VCL_DLLPUBLIC PPDKey
    friend class PPDParser;
    friend class CPDManager;

    typedef std::unordered_map< OUString, PPDValue, OUStringHash > hash_type;
    typedef std::unordered_map< OUString, PPDValue > hash_type;
    typedef std::vector< PPDValue* > value_type;

    OUString            m_aKey;
@@ -123,7 +123,7 @@ class VCL_DLLPUBLIC PPDParser
    friend class CPDManager;
    friend class PPDCache;

    typedef std::unordered_map< OUString, PPDKey*, OUStringHash > hash_type;
    typedef std::unordered_map< OUString, PPDKey* > hash_type;
    typedef std::vector< PPDKey* > value_type;

    void insertKey( const OUString& rKey, PPDKey* pKey );
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index 94e5b9d..e25eaa5 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -566,7 +566,7 @@ public:
class VCL_DLLPUBLIC PrinterOptionsHelper
{
protected:
    std::unordered_map< OUString, css::uno::Any, OUStringHash >
    std::unordered_map< OUString, css::uno::Any >
                         m_aPropertyMap;
    std::vector< css::beans::PropertyValue >
                         m_aUIProperties;
diff --git a/include/xmloff/nmspmap.hxx b/include/xmloff/nmspmap.hxx
index 7dd1c00..f14c822 100644
--- a/include/xmloff/nmspmap.hxx
+++ b/include/xmloff/nmspmap.hxx
@@ -61,7 +61,7 @@ struct QNamePairHash
};

typedef std::unordered_map < QNamePair, OUString, QNamePairHash > QNameCache;
typedef std::unordered_map < OUString, ::rtl::Reference <NameSpaceEntry >, OUStringHash > NameSpaceHash;
typedef std::unordered_map < OUString, ::rtl::Reference <NameSpaceEntry > > NameSpaceHash;
typedef std::map < sal_uInt16, ::rtl::Reference < NameSpaceEntry > > NameSpaceMap;

class XMLOFF_DLLPUBLIC SvXMLNamespaceMap
diff --git a/include/xmloff/prstylei.hxx b/include/xmloff/prstylei.hxx
index 636e404..1fbda3c 100644
--- a/include/xmloff/prstylei.hxx
+++ b/include/xmloff/prstylei.hxx
@@ -35,7 +35,7 @@ namespace com { namespace sun { namespace star {
    namespace beans { class XPropertySet; }
} } }

typedef std::unordered_set<OUString, OUStringHash> OldFillStyleDefinitionSet;
typedef std::unordered_set<OUString> OldFillStyleDefinitionSet;

class XMLOFF_DLLPUBLIC XMLPropStyleContext : public SvXMLStyleContext
{
diff --git a/l10ntools/inc/cfgmerge.hxx b/l10ntools/inc/cfgmerge.hxx
index 6ebd759..f1d993d 100644
--- a/l10ntools/inc/cfgmerge.hxx
+++ b/l10ntools/inc/cfgmerge.hxx
@@ -28,7 +28,7 @@
#include <vector>
#include "po.hxx"

typedef std::unordered_map<OString, OString, OStringHash> OStringHashMap;
typedef std::unordered_map<OString, OString> OStringHashMap;


// class CfgStackData
diff --git a/l10ntools/inc/export.hxx b/l10ntools/inc/export.hxx
index f1930b79..dd5d7d6 100644
--- a/l10ntools/inc/export.hxx
+++ b/l10ntools/inc/export.hxx
@@ -47,10 +47,10 @@

class MergeEntrys;

typedef std::unordered_map<OString, OString, OStringHash>
typedef std::unordered_map<OString, OString>
    OStringHashMap;

typedef std::unordered_map<OString, bool, OStringHash>
typedef std::unordered_map<OString, bool>
    OStringBoolHashMap;

#define SOURCE_LANGUAGE "en-US"
@@ -151,7 +151,7 @@ class MergeData;
class MergeDataHashMap
{
    private:
        typedef std::unordered_map<OString, MergeData*, OStringHash> HashMap_t;
        typedef std::unordered_map<OString, MergeData*> HashMap_t;

    public:
        MergeDataHashMap()
diff --git a/l10ntools/inc/xmlparse.hxx b/l10ntools/inc/xmlparse.hxx
index 3a057f4..d5fbc7a 100644
--- a/l10ntools/inc/xmlparse.hxx
+++ b/l10ntools/inc/xmlparse.hxx
@@ -135,13 +135,13 @@ public:
};

/// Mapping numeric Language code <-> XML Element
typedef std::unordered_map<OString, XMLElement*, OStringHash> LangHashMap;
typedef std::unordered_map<OString, XMLElement*> LangHashMap;

/// Mapping XML Element string identifier <-> Language Map
typedef std::unordered_map<OString, LangHashMap*, OStringHash> XMLHashMap;
typedef std::unordered_map<OString, LangHashMap*> XMLHashMap;

/// Mapping XML tag names <-> have localizable strings
typedef std::unordered_map<OString, sal_Bool, OStringHash> TagMap;
typedef std::unordered_map<OString, sal_Bool> TagMap;

/** Holds information of a XML file, is root node of tree
 */
diff --git a/linguistic/source/convdic.hxx b/linguistic/source/convdic.hxx
index 6c41586..4f79020 100644
--- a/linguistic/source/convdic.hxx
+++ b/linguistic/source/convdic.hxx
@@ -41,11 +41,11 @@

bool    IsConvDic( const OUString &rFileURL, LanguageType &nLang, sal_Int16 &nConvType );

typedef std::unordered_multimap<OUString, OUString, const OUStringHash> ConvMap;
typedef std::unordered_multimap<OUString, OUString> ConvMap;

typedef std::set<OUString> ConvMapKeySet;

typedef std::unordered_multimap<OUString, sal_Int16, OUStringHash> PropTypeMap;
typedef std::unordered_multimap<OUString, sal_Int16> PropTypeMap;

class ConvDic :
    public ::cppu::WeakImplHelper
diff --git a/oox/source/drawingml/customshapegeometry.cxx b/oox/source/drawingml/customshapegeometry.cxx
index 142ca39..f4d4d775 100644
--- a/oox/source/drawingml/customshapegeometry.cxx
+++ b/oox/source/drawingml/customshapegeometry.cxx
@@ -86,7 +86,7 @@ static const FormularCommandNameTable pFormularCommandNameTable[] =
    { "val",    FC_VAL }

};
typedef std::unordered_map< OUString, FormularCommand, OUStringHash > FormulaCommandHMap;
typedef std::unordered_map< OUString, FormularCommand > FormulaCommandHMap;

static const FormulaCommandHMap* pCommandHashMap;

diff --git a/package/inc/HashMaps.hxx b/package/inc/HashMaps.hxx
index e83a948..f10760f 100644
--- a/package/inc/HashMaps.hxx
+++ b/package/inc/HashMaps.hxx
@@ -25,32 +25,17 @@

#include <memory>

struct eqFunc
{
    bool operator()( const OUString &r1,
                         const OUString &r2) const
    {
        return r1 == r2;
    }
};

class ZipPackageFolder;
struct ZipContentInfo;

typedef std::unordered_map < OUString,
                        ZipPackageFolder *,
                        OUStringHash,
                        eqFunc > FolderHash;
                        ZipPackageFolder * > FolderHash;

typedef std::unordered_map < OUString,
                        std::unique_ptr<ZipContentInfo>,
                        OUStringHash,
                        eqFunc > ContentHash;
                        std::unique_ptr<ZipContentInfo> > ContentHash;

typedef std::unordered_map < OUString,
                        ZipEntry,
                        OUStringHash,
                        eqFunc > EntryHash;
                        ZipEntry > EntryHash;

#endif

diff --git a/package/source/manifest/ManifestImport.hxx b/package/source/manifest/ManifestImport.hxx
index 094e7d70..9eac12e 100644
--- a/package/source/manifest/ManifestImport.hxx
+++ b/package/source/manifest/ManifestImport.hxx
@@ -31,7 +31,7 @@ namespace com { namespace sun { namespace star {
    namespace beans { struct PropertyValue; }
} } }

typedef std::unordered_map< OUString, OUString, OUStringHash, eqFunc > StringHashMap;
typedef std::unordered_map< OUString, OUString > StringHashMap;

struct ManifestScopeEntry
{
diff --git a/package/source/xstor/ohierarchyholder.hxx b/package/source/xstor/ohierarchyholder.hxx
index 2193913..3d18c8d 100644
--- a/package/source/xstor/ohierarchyholder.hxx
+++ b/package/source/xstor/ohierarchyholder.hxx
@@ -35,18 +35,8 @@

struct OHierarchyElement_Impl;

struct eqFunc
{
    bool operator()( const OUString &r1,
                         const OUString &r2) const
    {
        return r1 == r2;
    }
};
typedef std::unordered_map< OUString,
                         ::rtl::Reference< OHierarchyElement_Impl >,
                         OUStringHash,
                         eqFunc > OHierarchyElementList_Impl;
                         ::rtl::Reference< OHierarchyElement_Impl > > OHierarchyElementList_Impl;

typedef ::std::vector< OUString > OStringList_Impl;
typedef ::std::list< css::uno::WeakReference< css::embed::XExtendedStorageStream > >
diff --git a/pyuno/source/module/pyuno_impl.hxx b/pyuno/source/module/pyuno_impl.hxx
index d3f7a6a..ea0e419 100644
--- a/pyuno/source/module/pyuno_impl.hxx
+++ b/pyuno/source/module/pyuno_impl.hxx
@@ -190,16 +190,14 @@ typedef std::unordered_map

typedef std::unordered_map
<
OUString,
PyRef,
OUStringHash
    OUString,
    PyRef
> ExceptionClassMap;

typedef std::unordered_map
<
    OUString,
    css::uno::Sequence< sal_Int16 >,
    OUStringHash
    css::uno::Sequence< sal_Int16 >
> MethodOutIndexMap;

typedef std::unordered_set< PyRef , PyRef::Hash > ClassSet;
diff --git a/pyuno/source/module/pyuno_module.cxx b/pyuno/source/module/pyuno_module.cxx
index ffc3693..8c738ae 100644
--- a/pyuno/source/module/pyuno_module.cxx
+++ b/pyuno/source/module/pyuno_module.cxx
@@ -81,7 +81,7 @@ class fillStructState
    // Keyword arguments used
    PyObject *used;
    // Which structure members are initialised
    std::unordered_map <OUString, bool, OUStringHash> initialised;
    std::unordered_map <OUString, bool> initialised;
    // How many positional arguments are consumed
    // This is always the so-many first ones
    sal_Int32 nPosConsumed;
diff --git a/registry/source/regimpl.hxx b/registry/source/regimpl.hxx
index 17afa55d..838456e 100644
--- a/registry/source/regimpl.hxx
+++ b/registry/source/regimpl.hxx
@@ -135,7 +135,7 @@ private:
                        const OUString& sName,
                        sal_Int16 nSpace) const;

    typedef std::unordered_map< OUString, ORegKey*, OUStringHash > KeyMap;
    typedef std::unordered_map< OUString, ORegKey* > KeyMap;

    sal_uInt32          m_refCount;
    osl::Mutex          m_mutex;
diff --git a/reportdesign/source/core/sdr/UndoEnv.cxx b/reportdesign/source/core/sdr/UndoEnv.cxx
index a4dc600..32db314 100644
--- a/reportdesign/source/core/sdr/UndoEnv.cxx
+++ b/reportdesign/source/core/sdr/UndoEnv.cxx
@@ -68,7 +68,7 @@ struct PropertyInfo
    }
};

typedef std::unordered_map< OUString, PropertyInfo, OUStringHash >    PropertiesInfo;
typedef std::unordered_map< OUString, PropertyInfo >    PropertiesInfo;

struct ObjectInfo
{
diff --git a/sal/rtl/bootstrap.cxx b/sal/rtl/bootstrap.cxx
index bff8691..8ca0f2e 100644
--- a/sal/rtl/bootstrap.cxx
+++ b/sal/rtl/bootstrap.cxx
@@ -612,8 +612,7 @@ namespace {

struct bootstrap_map {
    typedef std::unordered_map<
        rtl::OUString, Bootstrap_Impl *,
        rtl::OUStringHash > t;
        rtl::OUString, Bootstrap_Impl * > t;

    bootstrap_map(const bootstrap_map&) = delete;
    bootstrap_map& operator=(const bootstrap_map&) = delete;
diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx
index 4060801..90330cd 100644
--- a/sax/source/fastparser/fastparser.cxx
+++ b/sax/source/fastparser/fastparser.cxx
@@ -68,8 +68,7 @@ class FastLocatorImpl;
struct NamespaceDefine;
struct Entity;

typedef std::unordered_map< OUString, sal_Int32,
        OUStringHash > NamespaceMap;
typedef std::unordered_map< OUString, sal_Int32 > NamespaceMap;

struct EventList
{
diff --git a/sc/inc/addincol.hxx b/sc/inc/addincol.hxx
index 472fadd..be47d59 100644
--- a/sc/inc/addincol.hxx
+++ b/sc/inc/addincol.hxx
@@ -42,7 +42,7 @@ class SfxObjectShell;
class ScUnoAddInFuncData;
class ScFuncDesc;

typedef std::unordered_map< OUString, const ScUnoAddInFuncData*, OUStringHash > ScAddInHashMap;
typedef std::unordered_map< OUString, const ScUnoAddInFuncData* > ScAddInHashMap;

enum ScAddInArgumentType
{
diff --git a/sc/inc/autonamecache.hxx b/sc/inc/autonamecache.hxx
index d0bbc05..0c6d842 100644
--- a/sc/inc/autonamecache.hxx
+++ b/sc/inc/autonamecache.hxx
@@ -26,7 +26,7 @@
#include "global.hxx"

typedef std::vector< ScAddress > ScAutoNameAddresses;
typedef std::unordered_map< OUString, ScAutoNameAddresses, OUStringHash > ScAutoNameHashMap;
typedef std::unordered_map< OUString, ScAutoNameAddresses > ScAutoNameHashMap;

/**  Cache for faster lookup of automatic names during CompileXML
     (during CompileXML, no document content is changed). */
diff --git a/sc/inc/chartlis.hxx b/sc/inc/chartlis.hxx
index c461867..3fde82b 100644
--- a/sc/inc/chartlis.hxx
+++ b/sc/inc/chartlis.hxx
@@ -128,7 +128,7 @@ class SC_DLLPUBLIC ScChartListenerCollection
{
public:
    typedef std::map<OUString, std::unique_ptr<ScChartListener>> ListenersType;
    typedef std::unordered_set<OUString, OUStringHash> StringSetType;
    typedef std::unordered_set<OUString> StringSetType;
private:
    ListenersType m_Listeners;
    enum UpdateStatus
diff --git a/sc/inc/dpcache.hxx b/sc/inc/dpcache.hxx
index 3bac275..8601d71 100644
--- a/sc/inc/dpcache.hxx
+++ b/sc/inc/dpcache.hxx
@@ -43,7 +43,7 @@ struct ScDPNumGroupInfo;
class SC_DLLPUBLIC ScDPCache
{
public:
    typedef std::unordered_set<OUString, OUStringHash> StringSetType;
    typedef std::unordered_set<OUString> StringSetType;
    typedef mdds::flat_segment_tree<SCROW, bool> EmptyRowsType;
    typedef std::vector<ScDPItemData> ScDPItemDataVec;
    typedef std::set<ScDPObject*> ScDPObjectSet;
diff --git a/sc/inc/dpgroup.hxx b/sc/inc/dpgroup.hxx
index 1eddcf9..421d61f 100644
--- a/sc/inc/dpgroup.hxx
+++ b/sc/inc/dpgroup.hxx
@@ -119,7 +119,7 @@ public:

class ScDPGroupTableData : public ScDPTableData
{
    typedef std::unordered_set< OUString, OUStringHash > StringHashSet;
    typedef std::unordered_set< OUString > StringHashSet;

    std::shared_ptr<ScDPTableData> pSourceData;
    long                    nSourceCount;
diff --git a/sc/inc/dpsave.hxx b/sc/inc/dpsave.hxx
index 6564b9b..b88b081 100644
--- a/sc/inc/dpsave.hxx
+++ b/sc/inc/dpsave.hxx
@@ -111,8 +111,8 @@ private:
    css::sheet::DataPilotFieldLayoutInfo* pLayoutInfo; // (level)

public:
    typedef std::unordered_set<OUString, OUStringHash> MemberSetType;
    typedef std::unordered_map <OUString, ScDPSaveMember*, OUStringHash> MemberHash;
    typedef std::unordered_set<OUString> MemberSetType;
    typedef std::unordered_map <OUString, ScDPSaveMember*> MemberHash;
    typedef std::list <ScDPSaveMember*> MemberList;

private:
@@ -220,7 +220,7 @@ public:

    void WriteToSource( const css::uno::Reference<css::uno::XInterface>& xDim );

    void UpdateMemberVisibility(const std::unordered_map< OUString, bool, OUStringHash>& rData);
    void UpdateMemberVisibility(const std::unordered_map< OUString, bool>& rData);

    bool HasInvisibleMember() const;

@@ -233,9 +233,9 @@ public:

class ScDPSaveData
{
    typedef std::unordered_map<OUString, size_t, OUStringHash> DupNameCountType;
    typedef std::unordered_map<OUString, size_t> DupNameCountType;
public:
    typedef std::unordered_map<OUString, size_t, OUStringHash> DimOrderType;
    typedef std::unordered_map<OUString, size_t> DimOrderType;
    typedef std::vector<std::unique_ptr<ScDPSaveDimension>> DimsType;

private:
diff --git a/sc/inc/dptabres.hxx b/sc/inc/dptabres.hxx
index c0a29c8a..a0f8048 100644
--- a/sc/inc/dptabres.hxx
+++ b/sc/inc/dptabres.hxx
@@ -674,7 +674,7 @@ private:
        size_t operator()(const ScDPItemData& r) const;
    };
    typedef std::unordered_set<ScDPItemData, MemberHash> VisibleMemberType;
    typedef std::unordered_map<OUString, VisibleMemberType, OUStringHash> DimMemberType;
    typedef std::unordered_map<OUString, VisibleMemberType> DimMemberType;
    DimMemberType maDimensions;

    ScDPSource* mpSource;
diff --git a/sc/inc/dptabsrc.hxx b/sc/inc/dptabsrc.hxx
index 3d6af78..f7bc070 100644
--- a/sc/inc/dptabsrc.hxx
+++ b/sc/inc/dptabsrc.hxx
@@ -547,7 +547,7 @@ public:
};

// hash map from name to index in the member array, for fast name access
typedef std::unordered_map< OUString, sal_Int32, OUStringHash > ScDPMembersHashMap;
typedef std::unordered_map< OUString, sal_Int32 > ScDPMembersHashMap;

class ScDPMembers : public cppu::WeakImplHelper<
                            css::sheet::XMembersAccess,
diff --git a/sc/inc/dptypes.hxx b/sc/inc/dptypes.hxx
index 980b559..abb77db 100644
--- a/sc/inc/dptypes.hxx
+++ b/sc/inc/dptypes.hxx
@@ -14,7 +14,7 @@

#include <unordered_set>

typedef std::unordered_set<OUString, OUStringHash> ScDPUniqueStringSet;
typedef std::unordered_set<OUString> ScDPUniqueStringSet;

#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/externalrefmgr.hxx b/sc/inc/externalrefmgr.hxx
index 30bc813..19414e2 100644
--- a/sc/inc/externalrefmgr.hxx
+++ b/sc/inc/externalrefmgr.hxx
@@ -189,7 +189,7 @@ public:
    };

    typedef std::shared_ptr<Table> TableTypeRef;
    typedef std::unordered_map< OUString, size_t, OUStringHash>
    typedef std::unordered_map< OUString, size_t>
        TableNameIndexMap;

    ScExternalRefCache();
@@ -319,9 +319,9 @@ private:
        }
    };

    typedef std::unordered_map<OUString, TokenArrayRef, OUStringHash> RangeNameMap;
    typedef std::unordered_map<OUString, TokenArrayRef> RangeNameMap;
    typedef std::unordered_map<ScRange, TokenArrayRef, RangeHash> RangeArrayMap;
    typedef std::unordered_map<OUString, OUString, OUStringHash> NamePairMap;
    typedef std::unordered_map<OUString, OUString> NamePairMap;

    /** Represents data cached for a single external document. */
    struct DocItem
diff --git a/sc/inc/formulaparserpool.hxx b/sc/inc/formulaparserpool.hxx
index ba8b1c5..8b66791 100644
--- a/sc/inc/formulaparserpool.hxx
+++ b/sc/inc/formulaparserpool.hxx
@@ -43,8 +43,7 @@ public:
private:
    typedef std::unordered_map<
        OUString,
        css::uno::Reference< css::sheet::XFormulaParser >,
        OUStringHash > ParserMap;
        css::uno::Reference< css::sheet::XFormulaParser > > ParserMap;

    const ScDocument&   mrDoc;
    ParserMap           maParsers;
diff --git a/sc/inc/macromgr.hxx b/sc/inc/macromgr.hxx
index 02156f1..e524ff5 100644
--- a/sc/inc/macromgr.hxx
+++ b/sc/inc/macromgr.hxx
@@ -38,7 +38,7 @@ public:
    void BroadcastModuleUpdate(const OUString& aModuleName);

private:
    typedef std::unordered_map< OUString, bool, OUStringHash > NameBoolMap;
    typedef std::unordered_map< OUString, bool > NameBoolMap;
    NameBoolMap mhFuncToVolatile;
    css::uno::Reference< css::container::XContainerListener > mxContainerListener;

diff --git a/sc/inc/sheetdata.hxx b/sc/inc/sheetdata.hxx
index 107d2b5..238a509 100644
--- a/sc/inc/sheetdata.hxx
+++ b/sc/inc/sheetdata.hxx
@@ -104,7 +104,7 @@ struct ScLoadedNamespaceEntry

class ScSheetSaveData
{
    std::unordered_set<OUString, OUStringHash>  maInitialPrefixes;
    std::unordered_set<OUString>  maInitialPrefixes;
    std::vector<ScLoadedNamespaceEntry>              maLoadedNamespaces;

    std::vector<ScCellStyleEntry> maCellStyles;
diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx
index dd0dc4a..51c7b40 100644
--- a/sc/source/core/data/dpcache.cxx
+++ b/sc/source/core/data/dpcache.cxx
@@ -334,7 +334,7 @@ struct InitDocData
        mbTailEmptyRows(false) {}
};

typedef std::unordered_set<OUString, OUStringHash> LabelSet;
typedef std::unordered_set<OUString> LabelSet;

class InsertLabel
{
diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx
index 5ca9e8d..7b6ed9d 100644
--- a/sc/source/core/data/dpsave.cxx
+++ b/sc/source/core/data/dpsave.cxx
@@ -659,9 +659,9 @@ void ScDPSaveDimension::WriteToSource( const uno::Reference<uno::XInterface>& xD
        ScUnoHelpFunctions::SetOptionalPropertyValue(xDimProp, SC_UNO_DP_HAS_HIDDEN_MEMBER, bHasHiddenMember);
}

void ScDPSaveDimension::UpdateMemberVisibility(const std::unordered_map<OUString, bool, OUStringHash>& rData)
void ScDPSaveDimension::UpdateMemberVisibility(const std::unordered_map<OUString, bool>& rData)
{
    typedef std::unordered_map<OUString, bool, OUStringHash> DataMap;
    typedef std::unordered_map<OUString, bool> DataMap;
    MemberList::iterator itrMem = maMemberList.begin(), itrMemEnd = maMemberList.end();
    for (; itrMem != itrMemEnd; ++itrMem)
    {
@@ -1292,7 +1292,7 @@ void ScDPSaveData::BuildAllDimensionMembers(ScDPTableData* pData)
        return;

    // First, build a dimension name-to-index map.
    typedef std::unordered_map<OUString, long, OUStringHash> NameIndexMap;
    typedef std::unordered_map<OUString, long> NameIndexMap;
    NameIndexMap aMap;
    long nColCount = pData->GetColumnCount();
    for (long i = 0; i < nColCount; ++i)
@@ -1334,7 +1334,7 @@ void ScDPSaveData::BuildAllDimensionMembers(ScDPTableData* pData)

void ScDPSaveData::SyncAllDimensionMembers(ScDPTableData* pData)
{
    typedef std::unordered_map<OUString, long, OUStringHash> NameIndexMap;
    typedef std::unordered_map<OUString, long> NameIndexMap;

    // First, build a dimension name-to-index map.
    NameIndexMap aMap;
diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx
index 0d7a0af..696ddfb 100644
--- a/sc/source/core/data/dptabres.cxx
+++ b/sc/source/core/data/dptabres.cxx
@@ -3912,7 +3912,7 @@ void ScDPResultVisibilityData::addVisibleMember(const OUString& rDimName, const 

void ScDPResultVisibilityData::fillFieldFilters(vector<ScDPFilteredCache::Criterion>& rFilters) const
{
    typedef std::unordered_map<OUString, long, OUStringHash> FieldNameMapType;
    typedef std::unordered_map<OUString, long> FieldNameMapType;
    FieldNameMapType aFieldNames;
    ScDPTableData* pData = mpSource->GetData();
    long nColumnCount = pData->GetColumnCount();
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 0a036d3..f58a453a 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -2985,7 +2985,7 @@ void lcl_PrepareQuery( const ScDocument* pDoc, ScTable* pTab, ScQueryParam& rPar
SCSIZE ScTable::Query(const ScQueryParam& rParamOrg, bool bKeepSub)
{
    ScQueryParam    aParam( rParamOrg );
    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;
    StrSetType aStrSet;

    bool    bStarted = false;
diff --git a/sc/source/core/inc/cellkeytranslator.hxx b/sc/source/core/inc/cellkeytranslator.hxx
index 655b9aa..9bfa9a2 100644
--- a/sc/source/core/inc/cellkeytranslator.hxx
+++ b/sc/source/core/inc/cellkeytranslator.hxx
@@ -40,7 +40,7 @@ struct ScCellKeyword
    ScCellKeyword(const sal_Char* pName, OpCode eOpCode, const css::lang::Locale& rLocale);
};

typedef std::unordered_map< OUString, ::std::list<ScCellKeyword>, OUStringHash > ScCellKeywordHashMap;
typedef std::unordered_map< OUString, ::std::list<ScCellKeyword> > ScCellKeywordHashMap;

/** Translate cell function keywords.

diff --git a/sc/source/core/tool/formulaparserpool.cxx b/sc/source/core/tool/formulaparserpool.cxx
index e86d7aa..1cfab35 100644
--- a/sc/source/core/tool/formulaparserpool.cxx
+++ b/sc/source/core/tool/formulaparserpool.cxx
@@ -46,8 +46,7 @@ public:

private:
    typedef std::unordered_map<
        OUString, Reference< XSingleComponentFactory >,
        OUStringHash > FactoryMap;
        OUString, Reference< XSingleComponentFactory > > FactoryMap;

    Reference< XComponentContext > mxContext;   /// Global component context.
    FactoryMap          maFactories;            /// All parser factories, mapped by formula namespace.
diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx
index f18b81a..33b7cdc 100644
--- a/sc/source/filter/excel/excimp8.cxx
+++ b/sc/source/filter/excel/excimp8.cxx
@@ -112,7 +112,7 @@ using namespace ::comphelper;
class OleNameOverrideContainer : public ::cppu::WeakImplHelper< container::XNameContainer >
{
private:
    typedef std::unordered_map< OUString, uno::Reference< container::XIndexContainer >, OUStringHash > NamedIndexToOleName;
    typedef std::unordered_map< OUString, uno::Reference< container::XIndexContainer > > NamedIndexToOleName;
    NamedIndexToOleName  IdToOleNameHash;
    ::osl::Mutex m_aMutex;
public:
diff --git a/sc/source/filter/excel/xepivotxml.cxx b/sc/source/filter/excel/xepivotxml.cxx
index 57a52aa..40b728f 100644
--- a/sc/source/filter/excel/xepivotxml.cxx
+++ b/sc/source/filter/excel/xepivotxml.cxx
@@ -581,7 +581,7 @@ sal_Int32 GetSubtotalAttrToken(ScGeneralFunction eFunc)

void XclExpXmlPivotTables::SavePivotTableXml( XclExpXmlStream& rStrm, const ScDPObject& rDPObj, sal_Int32 nCacheId )
{
    typedef std::unordered_map<OUString, long, OUStringHash> NameToIdMapType;
    typedef std::unordered_map<OUString, long> NameToIdMapType;

    const XclExpXmlPivotCaches::Entry* pCacheEntry = mrCaches.GetCache(nCacheId);
    if (!pCacheEntry)
diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx
index 43575da..0f346a5 100644
--- a/sc/source/filter/inc/htmlpars.hxx
+++ b/sc/source/filter/inc/htmlpars.hxx
@@ -46,7 +46,7 @@ class ScHTMLTable;
 */
class ScHTMLStyles
{
    typedef std::unordered_map<OUString, OUString, OUStringHash> PropsType;
    typedef std::unordered_map<OUString, OUString> PropsType;
    typedef ::std::map<OUString, std::unique_ptr<PropsType>> NamePropsType;
    typedef ::std::map<OUString, std::unique_ptr<NamePropsType>> ElemsType;

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index bfb844f..7fe4ea7 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -486,7 +486,7 @@ class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory
        StringCellCache(const ScAddress& rPos, size_t nIndex);
    };

    typedef std::unordered_map<OUString, size_t, OUStringHash> StringHashType;
    typedef std::unordered_map<OUString, size_t> StringHashType;
    typedef std::vector<StringCellCache> StringCellCaches;

    ScDocumentImport maDoc;
diff --git a/sc/source/filter/xml/editattributemap.hxx b/sc/source/filter/xml/editattributemap.hxx
index 031e935..636b38c 100644
--- a/sc/source/filter/xml/editattributemap.hxx
+++ b/sc/source/filter/xml/editattributemap.hxx
@@ -36,7 +36,7 @@ public:
    const Entry* getEntryByItemID(sal_uInt16 nItemID) const;

private:
    typedef std::unordered_map<OUString, const Entry*, OUStringHash> StrToEntriesType;
    typedef std::unordered_map<OUString, const Entry*> StrToEntriesType;
    typedef std::unordered_map<sal_uInt16, const Entry*> IndexToEntriesType;
    StrToEntriesType maAPIEntries;
    IndexToEntriesType maItemIDEntries;
diff --git a/sc/source/filter/xml/pivotsource.hxx b/sc/source/filter/xml/pivotsource.hxx
index ed4a40b..2b5acdc 100644
--- a/sc/source/filter/xml/pivotsource.hxx
+++ b/sc/source/filter/xml/pivotsource.hxx
@@ -25,7 +25,7 @@ namespace sc {
 */
struct PivotTableSources
{
    typedef std::unordered_map<OUString, OUString, OUStringHash> SelectedPagesType;
    typedef std::unordered_map<OUString, OUString> SelectedPagesType;
    typedef std::unordered_map<ScDPObject*, SelectedPagesType> SelectedPagesMapType;

    struct SelectedPages
diff --git a/sc/source/filter/xml/xmldpimp.hxx b/sc/source/filter/xml/xmldpimp.hxx
index 13e315b..7d89ffe 100644
--- a/sc/source/filter/xml/xmldpimp.hxx
+++ b/sc/source/filter/xml/xmldpimp.hxx
@@ -62,7 +62,7 @@ public:

class ScXMLDataPilotTableContext : public ScXMLImportContext
{
    typedef std::unordered_map<OUString, OUString, OUStringHash> SelectedPagesType;
    typedef std::unordered_map<OUString, OUString> SelectedPagesType;

    struct GrandTotalItem
    {
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index cc936bd..ebee7f8 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -1637,7 +1637,7 @@ void ScCheckListBox::Init()
    SetNodeDefaultImages();
}

void ScCheckListBox::GetRecursiveChecked( SvTreeListEntry* pEntry, std::unordered_set<OUString, OUStringHash>& vOut,
void ScCheckListBox::GetRecursiveChecked( SvTreeListEntry* pEntry, std::unordered_set<OUString>& vOut,
        OUString& rLabel )
{
    if (GetCheckButtonState(pEntry) == SvButtonState::Checked)
@@ -1669,9 +1669,9 @@ void ScCheckListBox::GetRecursiveChecked( SvTreeListEntry* pEntry, std::unordere
    }
}

std::unordered_set<OUString, OUStringHash> ScCheckListBox::GetAllChecked()
std::unordered_set<OUString> ScCheckListBox::GetAllChecked()
{
    std::unordered_set<OUString, OUStringHash> vResults(0);
    std::unordered_set<OUString> vResults(0);
    sal_uInt32 nRootPos = 0;
    SvTreeListEntry* pEntry = GetEntry(nRootPos);
    while (pEntry)
@@ -1955,7 +1955,7 @@ bool ScCheckListMenuWindow::isAllSelected() const
void ScCheckListMenuWindow::getResult(ResultType& rResult)
{
    ResultType aResult;
    std::unordered_set<OUString, OUStringHash> vCheckeds = maChecks->GetAllChecked();
    std::unordered_set<OUString> vCheckeds = maChecks->GetAllChecked();
    size_t n = maMembers.size();
    for (size_t i = 0; i < n; ++i)
    {
diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx
index 1f3acb3..97ca6c1 100644
--- a/sc/source/ui/docshell/docsh6.cxx
+++ b/sc/source/ui/docshell/docsh6.cxx
@@ -317,7 +317,7 @@ void ScDocShell::ReconnectDdeLink(SfxObjectShell& rServer)

void ScDocShell::UpdateLinks()
{
    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;

    sfx2::LinkManager* pLinkManager = aDocument.GetLinkManager();
    StrSetType aNames;
diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx
index 9945bd2..c9b2dd3 100644
--- a/sc/source/ui/docshell/docsh8.cxx
+++ b/sc/source/ui/docshell/docsh8.cxx
@@ -471,7 +471,7 @@ void lcl_GetColumnTypes(
    SCCOL nLastCol = rDataRange.aEnd.Col();
    SCROW nLastRow = rDataRange.aEnd.Row();

    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;
    StrSetType aFieldNames;

    long nField = 0;
diff --git a/sc/source/ui/docshell/macromgr.cxx b/sc/source/ui/docshell/macromgr.cxx
index 4cb5e41..e8e3656 100644
--- a/sc/source/ui/docshell/macromgr.cxx
+++ b/sc/source/ui/docshell/macromgr.cxx
@@ -86,7 +86,7 @@ public:
    }

private:
    typedef std::unordered_map<OUString, vector<ScFormulaCell*>, OUStringHash> ModuleCellMap;
    typedef std::unordered_map<OUString, vector<ScFormulaCell*>> ModuleCellMap;
    ModuleCellMap maCells;
};

diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx
index 5e7a158..430820b 100644
--- a/sc/source/ui/inc/checklistmenu.hxx
+++ b/sc/source/ui/inc/checklistmenu.hxx
@@ -241,8 +241,8 @@ class ScCheckListBox : public SvTreeListBox
    void CheckEntry( const OUString& sName, SvTreeListEntry* pParent, bool bCheck );
    void CheckEntry( SvTreeListEntry* pEntry, bool bCheck );
    SvTreeListEntry* ShowCheckEntry( const OUString& sName, ScCheckListMember& rMember, bool bShow = true, bool bCheck = true );
    void GetRecursiveChecked( SvTreeListEntry* pEntry, std::unordered_set<OUString, OUStringHash>& vOut, OUString& rLabel );
    std::unordered_set<OUString, OUStringHash> GetAllChecked();
    void GetRecursiveChecked( SvTreeListEntry* pEntry, std::unordered_set<OUString>& vOut, OUString& rLabel );
    std::unordered_set<OUString> GetAllChecked();
    bool IsChecked( const OUString& sName, SvTreeListEntry* pParent );
    SvTreeListEntry* FindEntry( SvTreeListEntry* pParent, const OUString& sNode );
    sal_uInt16 GetCheckedEntryCount() const;
diff --git a/sc/source/ui/inc/crnrdlg.hxx b/sc/source/ui/inc/crnrdlg.hxx
index 6bffcb7..9474fe2 100644
--- a/sc/source/ui/inc/crnrdlg.hxx
+++ b/sc/source/ui/inc/crnrdlg.hxx
@@ -65,7 +65,7 @@ private:
    ScRangePairListRef  xColNameRanges;
    ScRangePairListRef  xRowNameRanges;

    typedef std::unordered_map< OUString, ScRange, OUStringHash > NameRangeMap;
    typedef std::unordered_map< OUString, ScRange > NameRangeMap;
    NameRangeMap    aRangeMap;
    ScViewData*     pViewData;
    ScDocument*     pDoc;
diff --git a/sc/source/ui/inc/pvfundlg.hxx b/sc/source/ui/inc/pvfundlg.hxx
index 7a1fe8f..c7365e4 100644
--- a/sc/source/ui/inc/pvfundlg.hxx
+++ b/sc/source/ui/inc/pvfundlg.hxx
@@ -56,7 +56,7 @@ private:

class ScDPFunctionDlg : public ModalDialog
{
    typedef std::unordered_map< OUString, OUString, OUStringHash > NameMapType;
    typedef std::unordered_map< OUString, OUString > NameMapType;
public:
    explicit            ScDPFunctionDlg( vcl::Window* pParent, const ScDPLabelDataVector& rLabelVec,
                            const ScDPLabelData& rLabelData, const ScPivotFuncData& rFuncData );
@@ -182,7 +182,7 @@ private:
    ScDPObject&         mrDPObj;            /// The DataPilot object (for member names).
    ScDPLabelData       maLabelData;        /// Cache for members data.

    typedef std::unordered_map<OUString, ScDPName, OUStringHash> NameMapType;
    typedef std::unordered_map<OUString, ScDPName> NameMapType;
    NameMapType maDataFieldNameMap; /// Cache for displayed name to field name mapping.
};

@@ -209,7 +209,7 @@ private:
    VclPtr<ListBox>            mpLbDims;
    VclPtr<OKButton>           mpBtnOk;

    typedef std::unordered_map<OUString, long, OUStringHash> DimNameIndexMap;
    typedef std::unordered_map<OUString, long> DimNameIndexMap;
    DimNameIndexMap     maNameIndexMap;
    ScDPObject&         mrDPObj;
};
diff --git a/sc/source/ui/unoobj/PivotTableDataProvider.cxx b/sc/source/ui/unoobj/PivotTableDataProvider.cxx
index 85e8eab..7f5793d 100644
--- a/sc/source/ui/unoobj/PivotTableDataProvider.cxx
+++ b/sc/source/ui/unoobj/PivotTableDataProvider.cxx
@@ -342,10 +342,10 @@ void PivotTableDataProvider::collectPivotTableData()
    uno::Reference<sheet::XDimensionsSupplier> xDimensionsSupplier(pDPObject->GetSource());
    uno::Reference<container::XIndexAccess> xDims = new ScNameToIndexAccess(xDimensionsSupplier->getDimensions());

    std::unordered_map<OUString, sal_Int32, OUStringHash> aDataFieldNumberFormatMap;
    std::unordered_map<OUString, sal_Int32> aDataFieldNumberFormatMap;
    std::vector<OUString> aDataFieldNamesVectors;

    std::unordered_map<OUString, OUString, OUStringHash> aDataFieldCaptionNames;
    std::unordered_map<OUString, OUString> aDataFieldCaptionNames;

    sheet::DataPilotFieldOrientation eDataFieldOrientation = sheet::DataPilotFieldOrientation_HIDDEN;

diff --git a/sc/source/ui/unoobj/linkuno.cxx b/sc/source/ui/unoobj/linkuno.cxx
index ad0da525..e96cfe5 100644
--- a/sc/source/ui/unoobj/linkuno.cxx
+++ b/sc/source/ui/unoobj/linkuno.cxx
@@ -389,7 +389,7 @@ ScSheetLinkObj* ScSheetLinksObj::GetObjectByIndex_Impl(sal_Int32 nIndex)
    if (!pDocShell)
        return nullptr;

    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;
    StrSetType aNames;
    ScDocument& rDoc = pDocShell->GetDocument();
    SCTAB nTabCount = rDoc.GetTableCount();
@@ -443,7 +443,7 @@ uno::Reference<container::XEnumeration> SAL_CALL ScSheetLinksObj::createEnumerat
// XIndexAccess
sal_Int32 SAL_CALL ScSheetLinksObj::getCount()
{
    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;

    SolarMutexGuard aGuard;
    if (!pDocShell)
@@ -521,7 +521,7 @@ sal_Bool SAL_CALL ScSheetLinksObj::hasByName( const OUString& aName )

uno::Sequence<OUString> SAL_CALL ScSheetLinksObj::getElementNames()
{
    typedef std::unordered_set<OUString, OUStringHash> StrSetType;
    typedef std::unordered_set<OUString> StrSetType;

    SolarMutexGuard aGuard;
    //  Name is the same as file name
diff --git a/sc/source/ui/vba/vbawindow.cxx b/sc/source/ui/vba/vbawindow.cxx
index 5f66295..9564652 100644
--- a/sc/source/ui/vba/vbawindow.cxx
+++ b/sc/source/ui/vba/vbawindow.cxx
@@ -52,7 +52,7 @@ using namespace ::ooo::vba;
using namespace ::ooo::vba::excel::XlWindowState;

typedef  std::unordered_map< OUString,
SCTAB, OUStringHash > NameIndexHash;
SCTAB > NameIndexHash;

typedef std::vector< uno::Reference< sheet::XSpreadsheet > > Sheets;

diff --git a/sc/source/ui/vba/vbawindows.cxx b/sc/source/ui/vba/vbawindows.cxx
index 568488f..25fc38d 100644
--- a/sc/source/ui/vba/vbawindows.cxx
+++ b/sc/source/ui/vba/vbawindows.cxx
@@ -33,7 +33,7 @@ using namespace ::com::sun::star;
using namespace ::ooo::vba;

typedef  std::unordered_map< OUString,
sal_Int32, OUStringHash > NameIndexHash;
sal_Int32 > NameIndexHash;

static uno::Reference< XHelperInterface > lcl_createWorkbookHIParent( const uno::Reference< frame::XModel >& xModel, const uno::Reference< uno::XComponentContext >& xContext, const uno::Any& aApplication )
{
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx
index 2cc79ac..dfced2d 100644
--- a/sc/source/ui/view/dbfunc3.cxx
+++ b/sc/source/ui/view/dbfunc3.cxx
@@ -1649,7 +1649,7 @@ void ScDBFunc::DataPilotSort(ScDPObject* pDPObj, long nDimIndex, bool bAscending
        typedef ScDPSaveDimension::MemberList MemList;
        const MemList& rDimMembers = pSaveDim->GetMembers();
        vector<OUString> aMembers;
        std::unordered_set<OUString, OUStringHash> aMemberSet;
        std::unordered_set<OUString> aMemberSet;
        size_t nMemberCount = 0;
        for (MemList::const_iterator itr = rDimMembers.begin(), itrEnd = rDimMembers.end();
              itr != itrEnd; ++itr)
@@ -1666,7 +1666,7 @@ void ScDBFunc::DataPilotSort(ScDPObject* pDPObj, long nDimIndex, bool bAscending

        // Collect and rank those custom sort strings that also exist in the member name list.

        typedef std::unordered_map<OUString, sal_uInt16, OUStringHash> UserSortMap;
        typedef std::unordered_map<OUString, sal_uInt16> UserSortMap;
        UserSortMap aSubStrs;
        sal_uInt16 nSubCount = 0;
        if (pUserListId)
@@ -1763,7 +1763,7 @@ bool ScDBFunc::DataPilotMove( const ScRange& rSource, const ScAddress& rDest )
        bool bValid = ( aDestData.Dimension >= 0 );        // dropping onto a field

        // look through the source range
        std::unordered_set< OUString, OUStringHash > aMembersSet;   // for lookup
        std::unordered_set< OUString > aMembersSet;   // for lookup
        std::vector< OUString > aMembersVector;  // members in original order, for inserting
        aMembersVector.reserve( std::max( static_cast<SCSIZE>( rSource.aEnd.Col() - rSource.aStart.Col() + 1 ),
                                          static_cast<SCSIZE>( rSource.aEnd.Row() - rSource.aStart.Row() + 1 ) ) );
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 4232899..7e093dd 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -607,9 +607,9 @@ public:

class AddSelectedItemString
{
    std::unordered_set<OUString, OUStringHash>& mrSet;
    std::unordered_set<OUString>& mrSet;
public:
    explicit AddSelectedItemString(std::unordered_set<OUString, OUStringHash>& r) :
    explicit AddSelectedItemString(std::unordered_set<OUString>& r) :
        mrSet(r) {}

    void operator() (const ScQueryEntry::Item& rItem)
@@ -649,7 +649,7 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow)
    ScQueryParam aParam;
    pDBData->GetQueryParam(aParam);
    std::vector<ScQueryEntry*> aEntries = aParam.FindAllEntriesByField(nCol);
    std::unordered_set<OUString, OUStringHash> aSelected;
    std::unordered_set<OUString> aSelected;
    for (ScQueryEntry* pEntry : aEntries)
    {
        if (pEntry && pEntry->bDoQuery && pEntry->eOp == SC_EQUAL)
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index 5c6daf6..0623597 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -542,7 +542,7 @@ void ScGridWindow::DPLaunchFieldPopupMenu(const Point& rScrPos, const Size& rScr

void ScGridWindow::UpdateDPFromFieldPopupMenu()
{
    typedef std::unordered_map<OUString, OUString, OUStringHash> MemNameMapType;
    typedef std::unordered_map<OUString, OUString> MemNameMapType;

    if (!mpDPFieldPopup)
        return;
@@ -571,7 +571,7 @@ void ScGridWindow::UpdateDPFromFieldPopupMenu()
    ScCheckListMenuWindow::ResultType aRawResult;
    mpDPFieldPopup->getResult(aRawResult);

    std::unordered_map<OUString, bool, OUStringHash> aResult;
    std::unordered_map<OUString, bool> aResult;
    ScCheckListMenuWindow::ResultType::const_iterator itr = aRawResult.begin(), itrEnd = aRawResult.end();
    for (; itr != itrEnd; ++itr)
    {
diff --git a/scripting/source/dlgprov/dlgevtatt.hxx b/scripting/source/dlgprov/dlgevtatt.hxx
index 814d71d..b4df1c5 100644
--- a/scripting/source/dlgprov/dlgevtatt.hxx
+++ b/scripting/source/dlgprov/dlgevtatt.hxx
@@ -38,8 +38,7 @@ namespace dlgprov
{
    // class DialogEventsAttacherImpl
    typedef std::unordered_map< OUString,
        css::uno::Reference< css::script::XScriptListener >,
        OUStringHash > ListenerHash;
        css::uno::Reference< css::script::XScriptListener > > ListenerHash;

    typedef ::cppu::WeakImplHelper<
        css::script::XScriptEventsAttacher > DialogEventsAttacherImpl_BASE;
diff --git a/scripting/source/provider/ActiveMSPList.hxx b/scripting/source/provider/ActiveMSPList.hxx
index 1adbb7f..7539b3b 100644
--- a/scripting/source/provider/ActiveMSPList.hxx
+++ b/scripting/source/provider/ActiveMSPList.hxx
@@ -45,8 +45,7 @@ typedef std::map  <   css::uno::Reference< css::uno::XInterface >
                  >   ScriptComponent_map;

typedef std::unordered_map< OUString,
    css::uno::Reference< css::script::provider::XScriptProvider >,
    OUStringHash > Msp_hash;
    css::uno::Reference< css::script::provider::XScriptProvider > > Msp_hash;

class NonDocMSPCreator;

diff --git a/scripting/source/provider/BrowseNodeFactoryImpl.cxx b/scripting/source/provider/BrowseNodeFactoryImpl.cxx
index aafa2f1..49c51db 100644
--- a/scripting/source/provider/BrowseNodeFactoryImpl.cxx
+++ b/scripting/source/provider/BrowseNodeFactoryImpl.cxx
@@ -150,10 +150,7 @@ public:
    }
};

//typedef std::map< OUString, Reference< browse::XBrowseNode > >
typedef std::unordered_map< OUString, Reference< browse::XBrowseNode >,
    OUStringHash >
        BrowseNodeAggregatorHash;
typedef std::unordered_map< OUString, Reference< browse::XBrowseNode > >  BrowseNodeAggregatorHash;
typedef std::vector< OUString > vString;

struct alphaSort
diff --git a/scripting/source/provider/ProviderCache.hxx b/scripting/source/provider/ProviderCache.hxx
index 75e0620..d6a950b 100644
--- a/scripting/source/provider/ProviderCache.hxx
+++ b/scripting/source/provider/ProviderCache.hxx
@@ -44,7 +44,7 @@ struct ProviderDetails
    css::uno::Reference< css::lang::XSingleComponentFactory > factory;
    css::uno::Reference< css::script::provider::XScriptProvider > provider;
};
typedef std::unordered_map < OUString, ProviderDetails , OUStringHash > ProviderDetails_hash;
typedef std::unordered_map < OUString, ProviderDetails  > ProviderDetails_hash;


class ProviderCache
diff --git a/scripting/source/stringresource/stringresource.hxx b/scripting/source/stringresource/stringresource.hxx
index 952dfd4..860c455 100644
--- a/scripting/source/stringresource/stringresource.hxx
+++ b/scripting/source/stringresource/stringresource.hxx
@@ -53,16 +53,14 @@ namespace stringresource
typedef std::unordered_map
<
    OUString,
    OUString,
    OUStringHash
    OUString
>
IdToStringMap;

typedef std::unordered_map
<
    OUString,
    sal_Int32,
    OUStringHash
    sal_Int32
>
IdToIndexMap;

diff --git a/scripting/source/vbaevents/eventhelper.cxx b/scripting/source/vbaevents/eventhelper.cxx
index 9690771..5d47ea3 100644
--- a/scripting/source/vbaevents/eventhelper.cxx
+++ b/scripting/source/vbaevents/eventhelper.cxx
@@ -174,8 +174,7 @@ struct TranslateInfo

typedef std::unordered_map<
    OUString,
    std::list< TranslateInfo >,
    OUStringHash > EventInfoHash;
    std::list< TranslateInfo > > EventInfoHash;


struct TranslatePropMap
@@ -470,7 +469,7 @@ public:
    { return !m_hEvents.empty(); }
private:

typedef std::unordered_map< OUString, Any, OUStringHash > EventSupplierHash;
typedef std::unordered_map< OUString, Any > EventSupplierHash;

    EventSupplierHash m_hEvents;
};
diff --git a/sd/inc/CustomAnimationPreset.hxx b/sd/inc/CustomAnimationPreset.hxx
index 530a6e7..2eddec2 100644
--- a/sd/inc/CustomAnimationPreset.hxx
+++ b/sd/inc/CustomAnimationPreset.hxx
@@ -33,8 +33,8 @@

namespace sd {

typedef std::unordered_map< OUString, CustomAnimationEffectPtr, OUStringHash > EffectsSubTypeMap;
typedef std::unordered_map< OUString, OUString, OUStringHash > UStringMap;
typedef std::unordered_map< OUString, CustomAnimationEffectPtr > EffectsSubTypeMap;
typedef std::unordered_map< OUString, OUString > UStringMap;
typedef std::vector< OUString > UStringList;

class CustomAnimationPreset
@@ -70,7 +70,7 @@ private:
};

typedef std::shared_ptr< CustomAnimationPreset > CustomAnimationPresetPtr;
typedef std::unordered_map<OUString, CustomAnimationPresetPtr, OUStringHash> EffectDescriptorMap;
typedef std::unordered_map<OUString, CustomAnimationPresetPtr> EffectDescriptorMap;
typedef std::vector< CustomAnimationPresetPtr > EffectDescriptorList;

struct PresetCategory
diff --git a/sd/inc/TransitionPreset.hxx b/sd/inc/TransitionPreset.hxx
index 922901c..623989f 100644
--- a/sd/inc/TransitionPreset.hxx
+++ b/sd/inc/TransitionPreset.hxx
@@ -38,7 +38,7 @@ namespace sd {
class TransitionPreset;
typedef std::shared_ptr< TransitionPreset > TransitionPresetPtr;
typedef std::list< TransitionPresetPtr > TransitionPresetList;
typedef std::unordered_map< OUString, OUString, OUStringHash > UStringMap;
typedef std::unordered_map< OUString, OUString > UStringMap;

class TransitionPreset
{
diff --git a/sd/source/filter/eppt/epptooxml.hxx b/sd/source/filter/eppt/epptooxml.hxx
index 05a9bd2..91880a7 100644
--- a/sd/source/filter/eppt/epptooxml.hxx
+++ b/sd/source/filter/eppt/epptooxml.hxx
@@ -158,7 +158,7 @@ private:
        sal_Int32 nId;
        sal_Int32 nLastIndex;
    };
    typedef std::unordered_map< OUString, struct AuthorComments, OUStringHash > AuthorsMap;
    typedef std::unordered_map< OUString, struct AuthorComments > AuthorsMap;
    AuthorsMap maAuthors;

    void WriteAuthors();
diff --git a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
index ac4807a..45b7d05 100644
--- a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
@@ -117,8 +117,7 @@ private:
    typedef std::vector<ListenerDescriptor> ListenerList;
    typedef std::unordered_map
        <OUString,
         ListenerList,
         OUStringHash> ListenerMap;
         ListenerList> ListenerMap;
    ListenerMap maListenerMap;

    /** Broadcast the given event to all listeners in the given list.
diff --git a/sd/source/ui/framework/configuration/ResourceFactoryManager.hxx b/sd/source/ui/framework/configuration/ResourceFactoryManager.hxx
index ed03701..34ee074 100644
--- a/sd/source/ui/framework/configuration/ResourceFactoryManager.hxx
+++ b/sd/source/ui/framework/configuration/ResourceFactoryManager.hxx
@@ -89,8 +89,7 @@ private:
    ::osl::Mutex maMutex;
    typedef std::unordered_map<
        OUString,
        css::uno::Reference<css::drawing::framework::XResourceFactory>,
        OUStringHash> FactoryMap;
        css::uno::Reference<css::drawing::framework::XResourceFactory> > FactoryMap;
    FactoryMap maFactoryMap;

    typedef ::std::vector<
diff --git a/sd/source/ui/framework/module/ModuleController.cxx b/sd/source/ui/framework/module/ModuleController.cxx
index 564354c..c64b5a7 100644
--- a/sd/source/ui/framework/module/ModuleController.cxx
+++ b/sd/source/ui/framework/module/ModuleController.cxx
@@ -40,8 +40,7 @@ static const sal_uInt32 snStartupPropertyCount (1);
class ModuleController::ResourceToFactoryMap
    : public std::unordered_map<
    OUString,
    OUString,
    OUStringHash>
    OUString>
{
public:
    ResourceToFactoryMap() {}
@@ -50,8 +49,7 @@ public:
class ModuleController::LoadedFactoryContainer
    : public std::unordered_map<
    OUString,
    WeakReference<XInterface>,
    OUStringHash>
    WeakReference<XInterface>>
{
public:
    LoadedFactoryContainer() {}
diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx
index ed25bcc..ed1e2aa 100644
--- a/sd/source/ui/framework/tools/FrameworkHelper.cxx
+++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx
@@ -272,8 +272,7 @@ namespace
class FrameworkHelper::ViewURLMap
    : public std::unordered_map<
          OUString,
          ViewShell::ShellType,
          OUStringHash>
          ViewShell::ShellType>
{
public:
    ViewURLMap() {}
diff --git a/sd/source/ui/tools/IconCache.cxx b/sd/source/ui/tools/IconCache.cxx
index 6e05720..703dc28 100644
--- a/sd/source/ui/tools/IconCache.cxx
+++ b/sd/source/ui/tools/IconCache.cxx
@@ -40,7 +40,7 @@ private:
    */
    static IconCache* s_pIconCache;

    typedef std::unordered_map<OUString, Image, OUStringHash> ImageContainer;
    typedef std::unordered_map<OUString, Image> ImageContainer;
    ImageContainer maContainer;

    Image GetIcon(const OUString& rResourceId);
diff --git a/sd/source/ui/unoidl/facreg.cxx b/sd/source/ui/unoidl/facreg.cxx
index 585e37f..3988901 100644
--- a/sd/source/ui/unoidl/facreg.cxx
+++ b/sd/source/ui/unoidl/facreg.cxx
@@ -40,7 +40,7 @@ enum FactoryId
    SdDrawingDocumentFactoryId,
    SdPresentationDocumentFactoryId,
};
typedef std::unordered_map<OUString, FactoryId, OUStringHash> FactoryMap;
typedef std::unordered_map<OUString, FactoryId> FactoryMap;

namespace {
static std::shared_ptr<FactoryMap> spFactoryMap;
diff --git a/sdext/source/pdfimport/filterdet.cxx b/sdext/source/pdfimport/filterdet.cxx
index a1bb194..57e8681 100644
--- a/sdext/source/pdfimport/filterdet.cxx
+++ b/sdext/source/pdfimport/filterdet.cxx
@@ -491,8 +491,7 @@ uno::Reference< io::XStream > getAdditionalStream( const OUString&              
                {
                    // search document checksum entry
                    std::unordered_map< OString,
                                   pdfparse::PDFEntry*,
                                   OStringHash >::iterator chk;
                                   pdfparse::PDFEntry* >::iterator chk;
                    chk = pTrailer->m_pDict->m_aMap.find( "DocChecksum" );
                    if( chk == pTrailer->m_pDict->m_aMap.end() )
                    {
@@ -508,8 +507,7 @@ uno::Reference< io::XStream > getAdditionalStream( const OUString&              

                    // search for AdditionalStreams entry
                    std::unordered_map< OString,
                                   pdfparse::PDFEntry*,
                                   OStringHash >::iterator add_stream;
                                   pdfparse::PDFEntry* >::iterator add_stream;
                    add_stream = pTrailer->m_pDict->m_aMap.find( "AdditionalStreams" );
                    if( add_stream == pTrailer->m_pDict->m_aMap.end() )
                    {
diff --git a/sdext/source/pdfimport/inc/pdfihelper.hxx b/sdext/source/pdfimport/inc/pdfihelper.hxx
index e989279..e77b056 100644
--- a/sdext/source/pdfimport/inc/pdfihelper.hxx
+++ b/sdext/source/pdfimport/inc/pdfihelper.hxx
@@ -43,7 +43,7 @@ namespace com { namespace sun { namespace star { namespace task

namespace pdfi
{
    typedef std::unordered_map< OUString, OUString, OUStringHash > PropertyMap;
    typedef std::unordered_map< OUString, OUString > PropertyMap;
    typedef sal_Int32 ImageId;

    /// What to do with a polygon. values can be ORed together
diff --git a/sdext/source/pdfimport/inc/pdfparse.hxx b/sdext/source/pdfimport/inc/pdfparse.hxx
index 5e4bd837..b38c8ca 100644
--- a/sdext/source/pdfimport/inc/pdfparse.hxx
+++ b/sdext/source/pdfimport/inc/pdfparse.hxx
@@ -181,7 +181,7 @@ struct PDFArray : public PDFContainer

struct PDFDict : public PDFContainer
{
    typedef std::unordered_map<OString,PDFEntry*,OStringHash> Map;
    typedef std::unordered_map<OString,PDFEntry*> Map;
    Map m_aMap;

    PDFDict() {}
diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 34d23a5..7a4f457 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -528,7 +528,7 @@ void PDFDict::insertValue( const OString& rName, PDFEntry* pValue )
    if( ! pValue )
        eraseValue( rName );

    std::unordered_map<OString,PDFEntry*,OStringHash>::iterator it = m_aMap.find( rName );
    std::unordered_map<OString,PDFEntry*>::iterator it = m_aMap.find( rName );
    if( it == m_aMap.end() )
    {
        // new name/value, pair, append it
@@ -622,7 +622,7 @@ unsigned int PDFStream::getDictLength( const PDFContainer* pContainer ) const
    if( ! m_pDict )
        return 0;
    // find /Length entry, can either be a direct or indirect number object
    std::unordered_map<OString,PDFEntry*,OStringHash>::const_iterator it =
    std::unordered_map<OString,PDFEntry*>::const_iterator it =
        m_pDict->m_aMap.find( "Length" );
    if( it == m_pDict->m_aMap.end() )
        return 0;
@@ -672,7 +672,7 @@ bool PDFObject::getDeflatedStream( char** ppStream, unsigned int* pBytes, const 
            return false;
        }
        // is there a filter entry ?
        std::unordered_map<OString,PDFEntry*,OStringHash>::const_iterator it =
        std::unordered_map<OString,PDFEntry*>::const_iterator it =
            m_pStream->m_pDict->m_aMap.find( "Filter" );
        if( it != m_pStream->m_pDict->m_aMap.end() )
        {
@@ -838,7 +838,7 @@ bool PDFObject::emit( EmitContext& rWriteContext ) const
                if( bDeflate && rWriteContext.m_bDeflate )
                {
                    // delete flatedecode filter
                    std::unordered_map<OString,PDFEntry*,OStringHash>::const_iterator it =
                    std::unordered_map<OString,PDFEntry*>::const_iterator it =
                    pClone->m_pStream->m_pDict->m_aMap.find( "Filter" );
                    if( it != pClone->m_pStream->m_pDict->m_aMap.end() )
                    {
diff --git a/sdext/source/pdfimport/sax/saxattrlist.cxx b/sdext/source/pdfimport/sax/saxattrlist.cxx
index f2cf5fc..9a284df 100644
--- a/sdext/source/pdfimport/sax/saxattrlist.cxx
+++ b/sdext/source/pdfimport/sax/saxattrlist.cxx
@@ -23,12 +23,11 @@
namespace pdfi
{

SaxAttrList::SaxAttrList( const std::unordered_map< OUString, OUString, OUStringHash >& rMap )
SaxAttrList::SaxAttrList( const std::unordered_map< OUString, OUString >& rMap )
{
    m_aAttributes.reserve(rMap.size());
    for( std::unordered_map< OUString,
                        OUString,
                        OUStringHash >::const_iterator it = rMap.begin();
                        OUString >::const_iterator it = rMap.begin();
         it != rMap.end(); ++it )
    {
        m_aIndexMap[ it->first ] = m_aAttributes.size();
@@ -80,7 +79,7 @@ OUString SAL_CALL SaxAttrList::getValueByIndex( sal_Int16 i_nIndex )

OUString SAL_CALL SaxAttrList::getValueByName(const OUString& i_rName)
{
    std::unordered_map< OUString, size_t, OUStringHash >::const_iterator it = m_aIndexMap.find( i_rName );
    std::unordered_map< OUString, size_t >::const_iterator it = m_aIndexMap.find( i_rName );
    return (it != m_aIndexMap.end()) ? m_aAttributes[it->second].m_aValue : OUString();
}

diff --git a/sdext/source/pdfimport/sax/saxattrlist.hxx b/sdext/source/pdfimport/sax/saxattrlist.hxx
index 73c9222..77c4dc4 100644
--- a/sdext/source/pdfimport/sax/saxattrlist.hxx
+++ b/sdext/source/pdfimport/sax/saxattrlist.hxx
@@ -44,10 +44,10 @@ namespace pdfi
            : m_aName( i_rName ), m_aValue( i_rValue ) {}
        };
        std::vector< AttrEntry >                                    m_aAttributes;
        std::unordered_map< OUString, size_t, OUStringHash >   m_aIndexMap;
        std::unordered_map< OUString, size_t >   m_aIndexMap;

    public:
        explicit SaxAttrList( const std::unordered_map< OUString, OUString, OUStringHash >& );
        explicit SaxAttrList( const std::unordered_map< OUString, OUString >& );
        SaxAttrList( const SaxAttrList& );
        virtual ~SaxAttrList() override;

diff --git a/sdext/source/pdfimport/test/pdfunzip.cxx b/sdext/source/pdfimport/test/pdfunzip.cxx
index bcc81a1..d33c207 100644
--- a/sdext/source/pdfimport/test/pdfunzip.cxx
+++ b/sdext/source/pdfimport/test/pdfunzip.cxx
@@ -296,7 +296,7 @@ int write_addStreams( const char* pInFile, const char* pOutFile, PDFFile* pPDFFi
        if( pTrailer && pTrailer->m_pDict )
        {
            // search for AdditionalStreams entry
            std::unordered_map<OString,PDFEntry*,OStringHash>::iterator add_stream;
            std::unordered_map<OString,PDFEntry*>::iterator add_stream;
            add_stream = pTrailer->m_pDict->m_aMap.find( "AdditionalStreams" );
            if( add_stream != pTrailer->m_pDict->m_aMap.end() )
            {
@@ -323,7 +323,7 @@ int write_fonts( const char* i_pInFile, const char* i_pOutFile, PDFFile* i_pPDFF
        if( ! pDict )
            continue;

        std::unordered_map<OString,PDFEntry*,OStringHash>::iterator map_it =
        std::unordered_map<OString,PDFEntry*>::iterator map_it =
                pDict->m_aMap.find( "Type" );
        if( map_it == pDict->m_aMap.end() )
            continue;
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index f9f9dd0..9a93d6c 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -568,7 +568,7 @@ void IndexTabPage_Impl::dispose()

namespace sfx2 {

    typedef std::unordered_map< OUString, int, OUStringHash > KeywordInfo;
    typedef std::unordered_map< OUString, int > KeywordInfo;
}

void IndexTabPage_Impl::InitializeIndex()
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 1ca0ea8..45f7152 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -532,7 +532,7 @@ StyleTreeArr_Impl& MakeTree_Impl(StyleTreeArr_Impl& rArr)
        ::comphelper::getProcessComponentContext(),
        Application::GetSettings().GetLanguageTag().getLocale());

    std::unordered_map<OUString, StyleTree_Impl*, OUStringHash> styleFinder;
    std::unordered_map<OUString, StyleTree_Impl*> styleFinder;
    styleFinder.reserve(rArr.size());
    for (const auto& pEntry : rArr)
    {
diff --git a/sfx2/source/doc/Metadatable.cxx b/sfx2/source/doc/Metadatable.cxx
index 9025879..d4db1e0 100644
--- a/sfx2/source/doc/Metadatable.cxx
+++ b/sfx2/source/doc/Metadatable.cxx
@@ -376,11 +376,11 @@ XmlIdRegistry::GetXmlIdForElement(const Metadatable& i_rObject) const
/// generate unique xml:id
template< typename T >
/*static*/ OUString create_id(const
    std::unordered_map< OUString, T, OUStringHash > & i_rXmlIdMap)
    std::unordered_map< OUString, T > & i_rXmlIdMap)
{
    static bool bHack = (getenv("LIBO_ONEWAY_STABLE_ODF_EXPORT") != nullptr);
    static const char prefix[] = "id";  // prefix for generated xml:id
    typename std::unordered_map< OUString, T, OUStringHash >
    typename std::unordered_map< OUString, T >
        ::const_iterator iter;
    OUString id;

@@ -416,7 +416,7 @@ typedef ::std::vector< Metadatable* > XmlIdVector_t;

/// Idref -> (content.xml element list, styles.xml element list)
typedef std::unordered_map< OUString,
    ::std::pair< XmlIdVector_t, XmlIdVector_t >, OUStringHash > XmlIdMap_t;
    ::std::pair< XmlIdVector_t, XmlIdVector_t > > XmlIdMap_t;

/// pointer hash template
template<typename T> struct PtrHash
@@ -895,7 +895,7 @@ typedef std::unordered_map< const Metadatable*,

/// Idref -> (content.xml element, styles.xml element)
typedef std::unordered_map< OUString,
    ::std::pair< Metadatable*, Metadatable* >, OUStringHash >
    ::std::pair< Metadatable*, Metadatable* > >
    ClipboardXmlIdMap_t;

struct XmlIdRegistryClipboard::XmlIdRegistry_Impl
diff --git a/starmath/source/mathmlattr.cxx b/starmath/source/mathmlattr.cxx
index fd7bf37..9e08130 100644
--- a/starmath/source/mathmlattr.cxx
+++ b/starmath/source/mathmlattr.cxx
@@ -148,7 +148,7 @@ sal_Int32 ParseMathMLAttributeLengthValue(const OUString &rStr, MathMLAttributeL

bool GetMathMLMathvariantValue(const OUString &rStr, MathMLMathvariantValue *pV)
{
    static const std::unordered_map<OUString, MathMLMathvariantValue, OUStringHash> aMap{
    static const std::unordered_map<OUString, MathMLMathvariantValue> aMap{
        {"normal", MathMLMathvariantValue::Normal},
        {"bold", MathMLMathvariantValue::Bold},
        {"italic", MathMLMathvariantValue::Italic},
diff --git a/stoc/source/corereflection/base.hxx b/stoc/source/corereflection/base.hxx
index 6638493..8c01dd3 100644
--- a/stoc/source/corereflection/base.hxx
+++ b/stoc/source/corereflection/base.hxx
@@ -74,10 +74,8 @@ inline bool td_equals( typelib_TypeDescription * pTD, typelib_TypeDescriptionRef
             rtl_ustr_compare( pTD->pTypeName->buffer, pType->pTypeName->buffer ) == 0));
}

typedef std::unordered_map< OUString, css::uno::WeakReference< css::reflection::XIdlField >,
    OUStringHash > OUString2Field;
typedef std::unordered_map< OUString, css::uno::WeakReference< css::reflection::XIdlMethod >,
    OUStringHash > OUString2Method;
typedef std::unordered_map< OUString, css::uno::WeakReference< css::reflection::XIdlField > > OUString2Field;
typedef std::unordered_map< OUString, css::uno::WeakReference< css::reflection::XIdlMethod > > OUString2Method;


class IdlReflectionServiceImpl
diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index 3bb086d..870a74a 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -143,8 +143,7 @@ bool isDerivedFrom( const Reference<XIdlClass>& xToTestClass, const Reference<XI
typedef std::unordered_map
<
    OUString,
    sal_Int32,
    OUStringHash
    sal_Int32
>
IntrospectionNameMap;

@@ -154,8 +153,7 @@ IntrospectionNameMap;
typedef std::unordered_map
<
    OUString,
    OUString,
    OUStringHash
    OUString
>
LowerToExactNameMap;

diff --git a/stoc/source/namingservice/namingservice.cxx b/stoc/source/namingservice/namingservice.cxx
index 88787b7..5fd2761 100644
--- a/stoc/source/namingservice/namingservice.cxx
+++ b/stoc/source/namingservice/namingservice.cxx
@@ -60,12 +60,7 @@ static OUString ns_getImplementationName()
    return OUString(IMPLNAME);
}

typedef std::unordered_map
<
    OUString,
    Reference<XInterface >,
    OUStringHash
> HashMap_OWString_Interface;
typedef std::unordered_map< OUString, Reference<XInterface > > HashMap_OWString_Interface;


class NamingService_Impl
diff --git a/stoc/source/security/file_policy.cxx b/stoc/source/security/file_policy.cxx
index 31bdcdb..6036f4b 100644
--- a/stoc/source/security/file_policy.cxx
+++ b/stoc/source/security/file_policy.cxx
@@ -63,7 +63,7 @@ class FilePolicy
    AccessControl m_ac;

    Sequence< Any > m_defaultPermissions;
    typedef std::unordered_map< OUString, Sequence< Any >, OUStringHash > t_permissions;
    typedef std::unordered_map< OUString, Sequence< Any > > t_permissions;
    t_permissions m_userPermissions;
    bool m_init;

diff --git a/stoc/source/servicemanager/servicemanager.cxx b/stoc/source/servicemanager/servicemanager.cxx
index 0c22230..e35ac74 100644
--- a/stoc/source/servicemanager/servicemanager.cxx
+++ b/stoc/source/servicemanager/servicemanager.cxx
@@ -278,22 +278,19 @@ Any ImplementationEnumeration_Impl::nextElement()
*****************************************************************************/
typedef std::unordered_set
<
    OUString,
    OUStringHash
    OUString
> HashSet_OWString;

typedef std::unordered_multimap
<
    OUString,
    Reference<XInterface >,
    OUStringHash
    Reference<XInterface >
> HashMultimap_OWString_Interface;

typedef std::unordered_map
<
    OUString,
    Reference<XInterface >,
    OUStringHash
    Reference<XInterface >
> HashMap_OWString_Interface;

/*****************************************************************************
diff --git a/svgio/inc/svgdocument.hxx b/svgio/inc/svgdocument.hxx
index 687fc49..979b466 100644
--- a/svgio/inc/svgdocument.hxx
+++ b/svgio/inc/svgdocument.hxx
@@ -37,13 +37,12 @@ namespace svgio
            const OUString     maAbsolutePath;

            /// hash mapper to find nodes by their id
            typedef std::unordered_map< OUString, const SvgNode*,
                      OUStringHash > IdTokenMapper;
            typedef std::unordered_map< OUString, const SvgNode* > IdTokenMapper;
            typedef std::pair< const OUString, const SvgNode* > IdTokenValueType;
            IdTokenMapper           maIdTokenMapperList;

            /// hash mapper to find css styles by their id
            typedef std::unordered_map< OUString, const SvgStyleAttributes*, OUStringHash > IdStyleTokenMapper;
            typedef std::unordered_map< OUString, const SvgStyleAttributes* > IdStyleTokenMapper;
            typedef std::pair< const OUString, const SvgStyleAttributes* > IdStyleTokenValueType;
            IdStyleTokenMapper      maIdStyleTokenMapperList;

diff --git a/svgio/source/svgreader/svgtoken.cxx b/svgio/source/svgreader/svgtoken.cxx
index af1970b..4416d32 100644
--- a/svgio/source/svgreader/svgtoken.cxx
+++ b/svgio/source/svgreader/svgtoken.cxx
@@ -167,7 +167,7 @@ namespace svgio

        SVGToken StrToSVGToken(const OUString& rStr, bool bCaseIndependent)
        {
            typedef std::unordered_map< OUString, SVGToken, OUStringHash > SVGTokenMapper;
            typedef std::unordered_map< OUString, SVGToken > SVGTokenMapper;
            typedef std::pair< OUString, SVGToken > SVGTokenValueType;
            static SVGTokenMapper aSVGTokenMapperList;

diff --git a/svgio/source/svgreader/svgtools.cxx b/svgio/source/svgreader/svgtools.cxx
index d5477d8..a0024730 100644
--- a/svgio/source/svgreader/svgtools.cxx
+++ b/svgio/source/svgreader/svgtools.cxx
@@ -631,8 +631,7 @@ namespace svgio

        bool match_colorKeyword(basegfx::BColor& rColor, const OUString& rName, bool bCaseIndependent)
        {
            typedef std::unordered_map< OUString, Color,
                      OUStringHash > ColorTokenMapper;
            typedef std::unordered_map< OUString, Color > ColorTokenMapper;
            typedef std::pair< OUString, Color > ColorTokenValueType;
            ColorTokenMapper aColorTokenMapperList;

diff --git a/svl/source/items/itemprop.cxx b/svl/source/items/itemprop.cxx
index 276ccc7..67e283c 100644
--- a/svl/source/items/itemprop.cxx
+++ b/svl/source/items/itemprop.cxx
@@ -34,18 +34,8 @@ using namespace com::sun::star::beans;
using namespace com::sun::star::lang;
using namespace com::sun::star::uno;

struct equalOUString
{
  bool operator()(const OUString& r1, const OUString&  r2) const
  {
    return r1 == r2;
  }
};

typedef std::unordered_map< OUString,
                            SfxItemPropertySimpleEntry,
                            OUStringHash,
                            equalOUString > SfxItemPropertyHashMap_t;
                            SfxItemPropertySimpleEntry > SfxItemPropertyHashMap_t;

class SfxItemPropertyMap_Impl : public SfxItemPropertyHashMap_t
{
diff --git a/svl/source/misc/sharedstringpool.cxx b/svl/source/misc/sharedstringpool.cxx
index 3383a78..76b4403 100644
--- a/svl/source/misc/sharedstringpool.cxx
+++ b/svl/source/misc/sharedstringpool.cxx
@@ -24,7 +24,7 @@ inline sal_Int32 getRefCount( const rtl_uString* p )
    return (p->refCount & 0x3FFFFFFF);
}

typedef std::unordered_set<OUString, OUStringHash> StrHashType;
typedef std::unordered_set<OUString> StrHashType;
typedef std::pair<StrHashType::iterator, bool> InsertResultType;
typedef std::unordered_map<const rtl_uString*, OUString> StrStoreType;

diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx
index 55f2488..a792137 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -219,7 +219,7 @@ protected:
    /// for future purposes when dealing with a set of cached NameTranslationLists
    OUString m_HashedURL;
private:
    std::unordered_map<OUString, OUString, OUStringHash> m_Translation;
    std::unordered_map<OUString, OUString> m_Translation;
    const OUString              maTransFileName;

public:
diff --git a/svtools/source/table/cellvalueconversion.cxx b/svtools/source/table/cellvalueconversion.cxx
index 2f28c3d..6f1b477 100644
--- a/svtools/source/table/cellvalueconversion.cxx
+++ b/svtools/source/table/cellvalueconversion.cxx
@@ -80,7 +80,7 @@ namespace svt
    class StandardFormatNormalizer;
    struct CellValueConversion_Data
    {
        typedef std::unordered_map< OUString, std::shared_ptr< StandardFormatNormalizer >, OUStringHash >    NormalizerCache;
        typedef std::unordered_map< OUString, std::shared_ptr< StandardFormatNormalizer > >    NormalizerCache;

        Reference< XNumberFormatter >           xNumberFormatter;
        bool                                    bAttemptedFormatterCreation;
diff --git a/svx/source/table/propertyset.hxx b/svx/source/table/propertyset.hxx
index 47ac513e..d04bd85 100644
--- a/svx/source/table/propertyset.hxx
+++ b/svx/source/table/propertyset.hxx
@@ -34,7 +34,7 @@
namespace sdr { namespace table {

typedef std::vector< css::beans::Property > PropertyVector;
typedef std::unordered_map< OUString, ::sal_uInt32, OUStringHash > PropertyMap;
typedef std::unordered_map< OUString, ::sal_uInt32 > PropertyMap;

class FastPropertySetInfo : public ::cppu::WeakAggImplHelper1< css::beans::XPropertySetInfo >
{
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
index 55083b0..18ac4d2 100644
--- a/svx/source/unodraw/unoprov.cxx
+++ b/svx/source/unodraw/unoprov.cxx
@@ -796,7 +796,7 @@ comphelper::PropertyMapEntry const * ImplGetAdditionalWriterDrawingDefaultsPrope
    return aSvxAdditionalDefaultsPropertyMap_Impl;
}

typedef std::unordered_map< OUString, sal_uInt32, OUStringHash > UHashMapImpl;
typedef std::unordered_map< OUString, sal_uInt32 > UHashMapImpl;

namespace {

diff --git a/sw/inc/SwStyleNameMapper.hxx b/sw/inc/SwStyleNameMapper.hxx
index 9b120d8..769360f 100644
--- a/sw/inc/SwStyleNameMapper.hxx
+++ b/sw/inc/SwStyleNameMapper.hxx
@@ -73,7 +73,7 @@

struct SwTableEntry;

typedef std::unordered_map<OUString, sal_uInt16, OUStringHash> NameToIdHash;
typedef std::unordered_map<OUString, sal_uInt16> NameToIdHash;

class SwStyleNameMapper
{
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 7476a36..92ee440 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -308,7 +308,7 @@ class SW_DLLPUBLIC SwDoc
    mutable SwNumRuleTable    *mpNumRuleTable;     //< List of all named NumRules.

    // Hash map to find numrules by name
    mutable std::unordered_map<OUString, SwNumRule *, OUStringHash> maNumRuleMap;
    mutable std::unordered_map<OUString, SwNumRule *> maNumRuleMap;

    SwPagePreviewPrtData *mpPgPViewPrtData;        //< Indenting / spacing for printing of page view.
    SwPaM           *mpExtInputRing;
diff --git a/sw/inc/docstyle.hxx b/sw/inc/docstyle.hxx
index cc7281c5..59dcfe9 100644
--- a/sw/inc/docstyle.hxx
+++ b/sw/inc/docstyle.hxx
@@ -147,7 +147,7 @@ class SwStyleSheetIterator : public SfxStyleSheetIterator, public SfxListener
    class SwPoolFormatList
    {
        std::vector<OUString> maImpl;
        typedef std::unordered_map<OUString, sal_uInt32, OUStringHash> UniqueHash;
        typedef std::unordered_map<OUString, sal_uInt32> UniqueHash;
        UniqueHash maUnique;
        void rehash();
    public:
diff --git a/sw/inc/numrule.hxx b/sw/inc/numrule.hxx
index 9639ef9..dbe4290 100644
--- a/sw/inc/numrule.hxx
+++ b/sw/inc/numrule.hxx
@@ -124,7 +124,7 @@ private:
    tParagraphStyleList maParagraphStyleList;

    /** unordered_map containing "name->rule" relation */
    std::unordered_map<OUString, SwNumRule *, OUStringHash> * mpNumRuleMap;
    std::unordered_map<OUString, SwNumRule *> * mpNumRuleMap;

    OUString msName;
    SwNumRuleType meRuleType;
@@ -203,7 +203,7 @@ public:
       @param pNumRuleMap      map to register in
     */
    void SetNumRuleMap(
                std::unordered_map<OUString, SwNumRule *, OUStringHash>* pNumRuleMap );
                std::unordered_map<OUString, SwNumRule *>* pNumRuleMap );

    static OUString GetOutlineRuleName();

diff --git a/sw/source/core/access/accpara.hxx b/sw/source/core/access/accpara.hxx
index cd462ce..008cef4 100644
--- a/sw/source/core/access/accpara.hxx
+++ b/sw/source/core/access/accpara.hxx
@@ -50,8 +50,7 @@ namespace com { namespace sun { namespace star {
} } }

typedef std::unordered_map< OUString,
                         css::beans::PropertyValue,
                         OUStringHash > tAccParaPropValMap;
                         css::beans::PropertyValue > tAccParaPropValMap;

class SwAccessibleParagraph :
        public SwClient, // #i108125#
diff --git a/sw/source/core/doc/DocumentListsManager.cxx b/sw/source/core/doc/DocumentListsManager.cxx
index 18554d6..bed7677 100644
--- a/sw/source/core/doc/DocumentListsManager.cxx
+++ b/sw/source/core/doc/DocumentListsManager.cxx
@@ -75,7 +75,7 @@ SwList* DocumentListsManager::getListByName( const OUString& sListId ) const
{
    SwList* pList = nullptr;

    std::unordered_map< OUString, SwList*, OUStringHash >::const_iterator
    std::unordered_map< OUString, SwList* >::const_iterator
                                            aListIter = maLists.find( sListId );
    if ( aListIter != maLists.end() )
    {
@@ -120,7 +120,7 @@ SwList* DocumentListsManager::getListForListStyle( const OUString& sListStyleNam
{
    SwList* pList = nullptr;

    std::unordered_map< OUString, SwList*, OUStringHash >::const_iterator
    std::unordered_map< OUString, SwList* >::const_iterator
                            aListIter = maListStyleLists.find( sListStyleName );
    if ( aListIter != maListStyleLists.end() )
    {
@@ -194,7 +194,7 @@ void DocumentListsManager::trackChangeOfListStyleName( const OUString& sListStyl

DocumentListsManager::~DocumentListsManager()
{
    for ( std::unordered_map< OUString, SwList*, OUStringHash >::iterator
    for ( std::unordered_map< OUString, SwList* >::iterator
                                           aListIter = maLists.begin();
        aListIter != maLists.end();
        ++aListIter )
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index fabadb9..3fe67f0 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -152,7 +152,7 @@ void SwNumRule::RemoveTextNode( SwTextNode& rTextNode )
    }
}

void SwNumRule::SetNumRuleMap(std::unordered_map<OUString, SwNumRule *, OUStringHash> *
void SwNumRule::SetNumRuleMap(std::unordered_map<OUString, SwNumRule *> *
                              pNumRuleMap)
{
    mpNumRuleMap = pNumRuleMap;
diff --git a/sw/source/core/doc/swstylemanager.cxx b/sw/source/core/doc/swstylemanager.cxx
index c5cf9ee..77cd65a 100644
--- a/sw/source/core/doc/swstylemanager.cxx
+++ b/sw/source/core/doc/swstylemanager.cxx
@@ -27,8 +27,7 @@
#include <unordered_map>

typedef std::unordered_map< OUString,
                            std::shared_ptr<SfxItemSet>,
                            OUStringHash > SwStyleNameCache;
                            std::shared_ptr<SfxItemSet> > SwStyleNameCache;

class SwStyleCache
{
diff --git a/sw/source/core/inc/DocumentListsManager.hxx b/sw/source/core/inc/DocumentListsManager.hxx
index 6237a0e5..dc6bdc2 100644
--- a/sw/source/core/inc/DocumentListsManager.hxx
+++ b/sw/source/core/inc/DocumentListsManager.hxx
@@ -57,7 +57,7 @@ class DocumentListsManager : public IDocumentListsAccess

        SwDoc& m_rDoc;

        typedef std::unordered_map<OUString, SwList*, OUStringHash> tHashMapForLists;
        typedef std::unordered_map<OUString, SwList*> tHashMapForLists;
        // container to hold the lists of the text document
        tHashMapForLists maLists;
        // relation between list style and its default list
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx
index ecfbd097..a12657e 100644
--- a/sw/source/core/inc/MarkManager.hxx
+++ b/sw/source/core/inc/MarkManager.hxx
@@ -27,7 +27,7 @@

namespace sw {
    namespace mark {
    typedef std::unordered_map<OUString, sal_Int32, OUStringHash> MarkBasenameMapUniqueOffset_t;
    typedef std::unordered_map<OUString, sal_Int32> MarkBasenameMapUniqueOffset_t;

    class MarkManager
        : virtual public IDocumentMarkAccess
@@ -116,7 +116,7 @@ namespace sw {
            // additional container for fieldmarks
            container_t m_vFieldmarks;

            std::unordered_set<OUString, OUStringHash> m_aMarkNamesSet;
            std::unordered_set<OUString> m_aMarkNamesSet;
            mutable MarkBasenameMapUniqueOffset_t m_aMarkBasenameMapUniqueOffset;

            // container for annotation marks
diff --git a/sw/source/core/unocore/unocoll.cxx b/sw/source/core/unocore/unocoll.cxx
index b02349a..3e2fc6d 100644
--- a/sw/source/core/unocore/unocoll.cxx
+++ b/sw/source/core/unocore/unocoll.cxx
@@ -170,7 +170,7 @@ public:
    }
};

typedef std::unordered_map< OUString, OUString, OUStringHash > StringHashMap;
typedef std::unordered_map< OUString, OUString > StringHashMap;

class SwVbaProjectNameProvider : public ::cppu::WeakImplHelper< container::XNameContainer >
{
diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx
index 0140b58..8be9b2d 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -318,7 +318,7 @@ void MSWordStyles::BuildStylesTable()

void MSWordStyles::BuildStyleIds()
{
    std::unordered_set<OString, OStringHash> aUsed;
    std::unordered_set<OString> aUsed;

    m_aStyleIds.emplace_back("Normal");
    aUsed.insert("normal");
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index d266fac..9495853 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -1065,9 +1065,9 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC
    if( !xInfo.is() )
        return;

    std::unordered_set< OUString, OUStringHash > aExcludeAlways;
    std::unordered_set< OUString > aExcludeAlways;
    aExcludeAlways.insert("LinkUpdateMode");
    std::unordered_set< OUString, OUStringHash > aExcludeWhenNotLoadingUserSettings;
    std::unordered_set< OUString > aExcludeWhenNotLoadingUserSettings;
    aExcludeWhenNotLoadingUserSettings.insert("ForbiddenCharacters");
    aExcludeWhenNotLoadingUserSettings.insert("IsKernAsianPunctuation");
    aExcludeWhenNotLoadingUserSettings.insert("CharacterCompressionType");
diff --git a/sw/source/ui/vba/vbadocumentproperties.cxx b/sw/source/ui/vba/vbadocumentproperties.cxx
index cb3d227..be3151e 100644
--- a/sw/source/ui/vba/vbadocumentproperties.cxx
+++ b/sw/source/ui/vba/vbadocumentproperties.cxx
@@ -658,7 +658,7 @@ public:
    }
};

typedef std::unordered_map< OUString, uno::Reference< XDocumentProperty >, OUStringHash > DocPropsByName;
typedef std::unordered_map< OUString, uno::Reference< XDocumentProperty > > DocPropsByName;

class BuiltInPropertiesImpl : public PropertiesImpl_BASE
{
diff --git a/toolkit/source/controls/dialogcontrol.cxx b/toolkit/source/controls/dialogcontrol.cxx
index c499c56..feced0d 100644
--- a/toolkit/source/controls/dialogcontrol.cxx
+++ b/toolkit/source/controls/dialogcontrol.cxx
@@ -75,7 +75,7 @@ using namespace ::com::sun::star::util;
template< typename T >
class SimpleNamedThingContainer : public ::cppu::WeakImplHelper< container::XNameContainer >
{
    typedef std::unordered_map< OUString, Reference< T >, OUStringHash > NamedThingsHash;
    typedef std::unordered_map< OUString, Reference< T > > NamedThingsHash;
    NamedThingsHash things;
    ::osl::Mutex m_aMutex;
public:
diff --git a/toolkit/source/controls/geometrycontrolmodel.cxx b/toolkit/source/controls/geometrycontrolmodel.cxx
index 439da5a..f0d40b1 100644
--- a/toolkit/source/controls/geometrycontrolmodel.cxx
+++ b/toolkit/source/controls/geometrycontrolmodel.cxx
@@ -439,7 +439,7 @@
    //= OCommonGeometryControlModel


    typedef std::unordered_map< OUString, sal_Int32, OUStringHash > HashMapString2Int;
    typedef std::unordered_map< OUString, sal_Int32 > HashMapString2Int;
    typedef std::vector< css::uno::Sequence< css::beans::Property > >   PropSeqArray;
    typedef std::vector< ::std::vector< sal_Int32 > > IntArrayArray;

diff --git a/ucb/source/core/ucbstore.cxx b/ucb/source/core/ucbstore.cxx
index 23aa09b..62e154b 100644
--- a/ucb/source/core/ucbstore.cxx
+++ b/ucb/source/core/ucbstore.cxx
@@ -105,13 +105,7 @@ OUString makeHierarchalNameSegment( const OUString & rIn  )
#define CFGPROPERTY_NODEPATH        "nodepath"

// PropertySetMap_Impl.
typedef std::unordered_map
<
    OUString,
    PersistentPropertySet*,
    OUStringHash
>
PropertySetMap_Impl;
typedef std::unordered_map< OUString, PersistentPropertySet*> PropertySetMap_Impl;

// class PropertySetInfo_Impl
class PropertySetInfo_Impl : public cppu::WeakImplHelper < XPropertySetInfo >
diff --git a/ucb/source/ucp/file/filnot.hxx b/ucb/source/ucp/file/filnot.hxx
index 0a80f0f..c1f9555 100644
--- a/ucb/source/ucp/file/filnot.hxx
+++ b/ucb/source/ucp/file/filnot.hxx
@@ -78,8 +78,7 @@ namespace fileaccess {


    typedef std::unordered_map< OUString,
                           css::uno::Sequence< css::uno::Reference< css::uno::XInterface > >,
                           OUStringHash >      ListenerMap;
                           css::uno::Sequence< css::uno::Reference< css::uno::XInterface > > >  ListenerMap;

    class PropertyChangeNotifier
    {
diff --git a/ucb/source/ucp/file/filtask.hxx b/ucb/source/ucp/file/filtask.hxx
index 24e719b..86ea95e 100644
--- a/ucb/source/ucp/file/filtask.hxx
+++ b/ucb/source/ucp/file/filtask.hxx
@@ -245,7 +245,7 @@ namespace fileaccess
            css::uno::Reference< css::beans::XPropertyAccess >        xA;
        };

        typedef std::unordered_map< OUString,UnqPathData,OUStringHash > ContentMap;
        typedef std::unordered_map< OUString,UnqPathData > ContentMap;

        TaskManager( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
               FileProvider* pProvider, bool bWithConfig );
diff --git a/ucb/source/ucp/hierarchy/hierarchyprovider.hxx b/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
index 4bde1b1..423965e 100644
--- a/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
+++ b/ucb/source/ucp/hierarchy/hierarchyprovider.hxx
@@ -56,9 +56,8 @@ struct ConfigProviderMapEntry

typedef std::unordered_map
<
    OUString,  // servcie specifier
    ConfigProviderMapEntry,
    OUStringHash
    OUString,  // service specifier
    ConfigProviderMapEntry
>
ConfigProviderMap;

diff --git a/ucb/source/ucp/package/pkgprovider.cxx b/ucb/source/ucp/package/pkgprovider.cxx
index 93b22fd..28f3df4 100644
--- a/ucb/source/ucp/package/pkgprovider.cxx
+++ b/ucb/source/ucp/package/pkgprovider.cxx
@@ -82,13 +82,7 @@ public:


// Packages.
typedef std::unordered_map
<
    OUString,
    Package*,
    OUStringHash
>
PackageMap;
typedef std::unordered_map<OUString, Package*> PackageMap;

class Packages : public PackageMap {};

diff --git a/ucb/source/ucp/webdav-neon/ContentProperties.hxx b/ucb/source/ucp/webdav-neon/ContentProperties.hxx
index ffab265..0606d94 100644
--- a/ucb/source/ucp/webdav-neon/ContentProperties.hxx
+++ b/ucb/source/ucp/webdav-neon/ContentProperties.hxx
@@ -67,13 +67,7 @@ public:

};

typedef std::unordered_map
<
    OUString,
    PropertyValue,
    OUStringHash
>
PropertyValueMap;
typedef std::unordered_map< OUString, PropertyValue> PropertyValueMap;

class ContentProperties
{
diff --git a/ucb/source/ucp/webdav/ContentProperties.hxx b/ucb/source/ucp/webdav/ContentProperties.hxx
index c76dcf5..cd0f769 100644
--- a/ucb/source/ucp/webdav/ContentProperties.hxx
+++ b/ucb/source/ucp/webdav/ContentProperties.hxx
@@ -58,13 +58,7 @@ public:

};

typedef std::unordered_map
<
    OUString,
    PropertyValue,
    OUStringHash
>
PropertyValueMap;
typedef std::unordered_map< OUString, PropertyValue > PropertyValueMap;

class ContentProperties
{
diff --git a/ucb/source/ucp/webdav/webdavresponseparser.cxx b/ucb/source/ucp/webdav/webdavresponseparser.cxx
index 94b5952..25b99d7 100644
--- a/ucb/source/ucp/webdav/webdavresponseparser.cxx
+++ b/ucb/source/ucp/webdav/webdavresponseparser.cxx
@@ -96,7 +96,7 @@ namespace

    WebDAVName StrToWebDAVName(const OUString& rStr)
    {
        typedef std::unordered_map< OUString, WebDAVName, OUStringHash > WebDAVNameMapper;
        typedef std::unordered_map< OUString, WebDAVName > WebDAVNameMapper;
        typedef std::pair< OUString, WebDAVName > WebDAVNameValueType;
        static WebDAVNameMapper aWebDAVNameMapperList;

diff --git a/ucbhelper/source/provider/providerhelper.cxx b/ucbhelper/source/provider/providerhelper.cxx
index 841e81b..c9894dd 100644
--- a/ucbhelper/source/provider/providerhelper.cxx
+++ b/ucbhelper/source/provider/providerhelper.cxx
@@ -46,8 +46,7 @@ namespace ucbhelper_impl
typedef std::unordered_map
<
    OUString,
    uno::WeakReference< ucb::XContent >,
    OUStringHash
    uno::WeakReference< ucb::XContent >
>
Contents;

diff --git a/unotools/source/config/cmdoptions.cxx b/unotools/source/config/cmdoptions.cxx
index 5f1eac6..e7cebb5 100644
--- a/unotools/source/config/cmdoptions.cxx
+++ b/unotools/source/config/cmdoptions.cxx
@@ -78,7 +78,7 @@ class SvtCmdOptions
        }

    private:
        typedef std::unordered_map<OUString, sal_Int32, OUStringHash>
        typedef std::unordered_map<OUString, sal_Int32>
            CommandHashMap;

        CommandHashMap m_aCommandHashMap;
diff --git a/unotools/source/config/eventcfg.cxx b/unotools/source/config/eventcfg.cxx
index 2f2f579..2a8dc20 100644
--- a/unotools/source/config/eventcfg.cxx
+++ b/unotools/source/config/eventcfg.cxx
@@ -76,7 +76,7 @@ static o3tl::enumarray<GlobalEventId, const char*> pEventAsciiNames =
"OnStorageChanged"
};

typedef std::unordered_map< OUString, OUString, OUStringHash > EventBindingHash;
typedef std::unordered_map< OUString, OUString > EventBindingHash;
typedef std::vector< css::uno::WeakReference< css::frame::XFrame > > FrameVector;
typedef o3tl::enumarray< GlobalEventId, OUString > SupportedEventsVector;

diff --git a/unotools/source/config/extendedsecurityoptions.cxx b/unotools/source/config/extendedsecurityoptions.cxx
index 7a96305..46841d3 100644
--- a/unotools/source/config/extendedsecurityoptions.cxx
+++ b/unotools/source/config/extendedsecurityoptions.cxx
@@ -50,7 +50,7 @@ using namespace ::com::sun::star::uno;

#define PROPERTYCOUNT                   1

typedef std::unordered_map<OUString, sal_Int32, OUStringHash>
typedef std::unordered_map<OUString, sal_Int32>
    ExtensionHashMap;

class SvtExtendedSecurityOptions_Impl : public ConfigItem
diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx
index e09a03f..91aa702 100644
--- a/unotools/source/config/fontcfg.cxx
+++ b/unotools/source/config/fontcfg.cxx
@@ -151,7 +151,7 @@ OUString DefaultFontConfiguration::tryLocale( const OUString& rBcp47, const OUSt
{
    OUString aRet;

    std::unordered_map< OUString, LocaleAccess, OUStringHash >::const_iterator it = m_aConfig.find( rBcp47 );
    std::unordered_map< OUString, LocaleAccess >::const_iterator it = m_aConfig.find( rBcp47 );
    if( it != m_aConfig.end() )
    {
        if( !it->second.xAccess.is() )
@@ -992,7 +992,7 @@ ImplFontAttrs FontSubstConfiguration::getSubstType( const css::uno::Reference< X

void FontSubstConfiguration::readLocaleSubst( const OUString& rBcp47 ) const
{
    std::unordered_map< OUString, LocaleSubst, OUStringHash >::const_iterator it = m_aSubst.find( rBcp47 );
    std::unordered_map< OUString, LocaleSubst >::const_iterator it = m_aSubst.find( rBcp47 );
    if( it != m_aSubst.end() )
    {
        if( ! it->second.bConfigRead )
@@ -1088,7 +1088,7 @@ const FontNameAttr* FontSubstConfiguration::getSubstInfo( const OUString& rFontN

    for (::std::vector< OUString >::const_iterator fb( aFallbacks.begin()); fb != aFallbacks.end(); ++fb)
    {
        std::unordered_map< OUString, LocaleSubst, OUStringHash >::const_iterator lang = m_aSubst.find( *fb );
        std::unordered_map< OUString, LocaleSubst >::const_iterator lang = m_aSubst.find( *fb );
        if( lang != m_aSubst.end() )
        {
            if( ! lang->second.bConfigRead )
diff --git a/unotools/source/config/optionsdlg.cxx b/unotools/source/config/optionsdlg.cxx
index 7da3f23..b0a053e 100644
--- a/unotools/source/config/optionsdlg.cxx
+++ b/unotools/source/config/optionsdlg.cxx
@@ -43,7 +43,7 @@ static sal_Int32                    nRefCount = 0;
class SvtOptionsDlgOptions_Impl : public utl::ConfigItem
{
private:
    typedef std::unordered_map< OUString, sal_Bool, OUStringHash > OptionNodeList;
    typedef std::unordered_map< OUString, sal_Bool > OptionNodeList;

    OUString        m_sPathDelimiter;
    OptionNodeList  m_aOptionNodeList;
diff --git a/unotools/source/config/pathoptions.cxx b/unotools/source/config/pathoptions.cxx
index 634fa26..09d1df3b 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -70,7 +70,7 @@ using namespace com::sun::star::lang;

#define STRPOS_NOTFOUND       -1

typedef std::unordered_map<OUString, sal_Int32, OUStringHash> NameToHandleMap;
typedef std::unordered_map<OUString, sal_Int32> NameToHandleMap;

typedef std::set<OUString> VarNameSet;

diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
index 492c7fc..a0ad625 100644
--- a/unotools/source/i18n/resmgr.cxx
+++ b/unotools/source/i18n/resmgr.cxx
@@ -91,7 +91,7 @@ namespace Translate
{
    std::locale Create(const sal_Char* pPrefixName, const LanguageTag& rLocale)
    {
        static std::unordered_map<OString, std::locale, OStringHash> aCache;
        static std::unordered_map<OString, std::locale> aCache;
        OString sIdentifier = rLocale.getGlibcLocaleString(".UTF-8").toUtf8();
        OString sUnique = sIdentifier + OString(pPrefixName);
        auto aFind = aCache.find(sUnique);
diff --git a/unotools/source/misc/fontdefs.cxx b/unotools/source/misc/fontdefs.cxx
index 8a62538..67f4d73 100644
--- a/unotools/source/misc/fontdefs.cxx
+++ b/unotools/source/misc/fontdefs.cxx
@@ -419,7 +419,7 @@ OUString GetEnglishSearchFontName(const OUString& rInName)
    // translate normalized localized name to its normalized English ASCII name
    if( bNeedTranslation )
    {
        typedef std::unordered_map<OUString, const char*, OUStringHash> FontNameDictionary;
        typedef std::unordered_map<OUString, const char*> FontNameDictionary;
        static FontNameDictionary aDictionary( SAL_N_ELEMENTS(aImplLocalizedNamesList) );
        // the font name dictionary needs to be initialized once
        if( aDictionary.empty() )
diff --git a/unoxml/inc/node.hxx b/unoxml/inc/node.hxx
index e33178a..ebfcd9b 100644
--- a/unoxml/inc/node.hxx
+++ b/unoxml/inc/node.hxx
@@ -70,9 +70,7 @@ namespace DOM
        };

        typedef std::vector< std::vector<Namespace> > NamespaceVectorType;
        typedef std::unordered_map< OUString,
                               sal_Int32,
                               OUStringHash > NamespaceMapType;
        typedef std::unordered_map< OUString, sal_Int32 > NamespaceMapType;

        /// outer vector: xml context; inner vector: current NS
        NamespaceVectorType                 maNamespaces;
diff --git a/uui/source/iahndl.hxx b/uui/source/iahndl.hxx
index 5b1fda3..cffe7bd 100644
--- a/uui/source/iahndl.hxx
+++ b/uui/source/iahndl.hxx
@@ -69,7 +69,7 @@ struct InteractionHandlerData

typedef std::vector< InteractionHandlerData > InteractionHandlerDataList;

typedef std::unordered_map< OUString, OUString, OUStringHash >    StringHashMap;
typedef std::unordered_map< OUString, OUString >    StringHashMap;

class UUIInteractionHelper
{
diff --git a/vbahelper/source/msforms/vbacontrols.cxx b/vbahelper/source/msforms/vbacontrols.cxx
index 3bf6a55..1ebbd76 100644
--- a/vbahelper/source/msforms/vbacontrols.cxx
+++ b/vbahelper/source/msforms/vbacontrols.cxx
@@ -39,7 +39,7 @@ using namespace com::sun::star;
using namespace ooo::vba;


typedef  std::unordered_map< OUString, sal_Int32, OUStringHash > ControlIndexMap;
typedef  std::unordered_map< OUString, sal_Int32 > ControlIndexMap;
typedef  std::vector< uno::Reference< awt::XControl > > ControlVec;

class ControlArrayWrapper : public ::cppu::WeakImplHelper< container::XNameAccess, container::XIndexAccess >
diff --git a/vbahelper/source/vbahelper/vbadocumentsbase.cxx b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
index 161cf2c..88e262677 100644
--- a/vbahelper/source/vbahelper/vbadocumentsbase.cxx
+++ b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
@@ -50,7 +50,7 @@ using namespace ::ooo::vba;
using namespace ::com::sun::star;

typedef  std::unordered_map< OUString,
                             sal_Int32, OUStringHash > NameIndexHash;
                             sal_Int32 > NameIndexHash;

typedef std::vector < uno::Reference< frame::XModel > > Documents;

diff --git a/vcl/inc/PhysicalFontCollection.hxx b/vcl/inc/PhysicalFontCollection.hxx
index 0ff6868..41382cd 100644
--- a/vcl/inc/PhysicalFontCollection.hxx
+++ b/vcl/inc/PhysicalFontCollection.hxx
@@ -70,7 +70,7 @@ private:
    mutable bool            mbMatchData;    // true if matching attributes are initialized
    bool                    mbMapNames;     // true if MapNames are available

    typedef std::unordered_map<OUString, PhysicalFontFamily*,OUStringHash> PhysicalFontFamilies;
    typedef std::unordered_map<OUString, PhysicalFontFamily*> PhysicalFontFamilies;
    PhysicalFontFamilies    maPhysicalFontFamilies;

    ImplPreMatchFontSubstitution* mpPreMatchHook;       // device specific prematch substitution
diff --git a/vcl/inc/implimagetree.hxx b/vcl/inc/implimagetree.hxx
index b37c041..91186647 100644
--- a/vcl/inc/implimagetree.hxx
+++ b/vcl/inc/implimagetree.hxx
@@ -83,8 +83,8 @@ private:
    ImplImageTree(const ImplImageTree&) = delete;
    ImplImageTree& operator=(const ImplImageTree&) = delete;

    typedef std::unordered_map<OUString, std::pair<bool, BitmapEx>, OUStringHash> IconCache;
    typedef std::unordered_map<OUString, OUString, OUStringHash> IconLinkHash;
    typedef std::unordered_map<OUString, std::pair<bool, BitmapEx>> IconCache;
    typedef std::unordered_map<OUString, OUString> IconLinkHash;

    struct IconSet
    {
@@ -102,7 +102,7 @@ private:
    };

    /// Map between the theme name(s) and the content.
    typedef std::unordered_map<OUString, IconSet, OUStringHash> StyleIconSet;
    typedef std::unordered_map<OUString, IconSet> StyleIconSet;

    /// Remember all the (used) icon styles and individual icons in them.
    StyleIconSet maIconSets;
diff --git a/vcl/inc/jobset.h b/vcl/inc/jobset.h
index db83301..35a7065 100644
--- a/vcl/inc/jobset.h
+++ b/vcl/inc/jobset.h
@@ -44,7 +44,7 @@ private:
    sal_uInt32      mnDriverDataLen;    //< length of system specific data
    sal_uInt8*      mpDriverData;       //< system specific data (will be streamed a byte block)
    bool            mbPapersizeFromSetup;
    std::unordered_map< OUString, OUString, OUStringHash > maValueMap;
    std::unordered_map< OUString, OUString > maValueMap;

public:
    ImplJobSetup();
@@ -89,7 +89,7 @@ public:
    bool             GetPapersizeFromSetup() const { return mbPapersizeFromSetup; }
    void             SetPapersizeFromSetup(bool bPapersizeFromSetup);

    const std::unordered_map< OUString, OUString, OUStringHash >& GetValueMap() const
    const std::unordered_map< OUString, OUString >& GetValueMap() const
                    { return maValueMap; }
    void            SetValueMap(const OUString& rKey, const OUString& rValue);
};
diff --git a/vcl/inc/opengl/program.hxx b/vcl/inc/opengl/program.hxx
index fabd07a..9d6340c 100644
--- a/vcl/inc/opengl/program.hxx
+++ b/vcl/inc/opengl/program.hxx
@@ -43,7 +43,7 @@ class VCL_PLUGIN_PUBLIC OpenGLProgram
{
private:
    GLuint          mnId;
    std::unordered_map< OString, GLuint, OStringHash >
    std::unordered_map< OString, GLuint >
                    maUniformLocations;
    sal_uInt32      mnEnabledAttribs;
    GLuint          mnPositionAttrib;
diff --git a/vcl/inc/print.h b/vcl/inc/print.h
index e53d033..3ea53ec 100644
--- a/vcl/inc/print.h
+++ b/vcl/inc/print.h
@@ -42,7 +42,7 @@ struct ImplPrnQueueData
class VCL_PLUGIN_PUBLIC ImplPrnQueueList
{
public:
    std::unordered_map< OUString, sal_Int32, OUStringHash > m_aNameToIndex;
    std::unordered_map< OUString, sal_Int32 > m_aNameToIndex;
    std::vector< ImplPrnQueueData >     m_aQueueInfos;
    std::vector< OUString >             m_aPrinterList;

diff --git a/vcl/inc/printerinfomanager.hxx b/vcl/inc/printerinfomanager.hxx
index 315d725..8715658 100644
--- a/vcl/inc/printerinfomanager.hxx
+++ b/vcl/inc/printerinfomanager.hxx
@@ -101,7 +101,7 @@ protected:
        PrinterInfo             m_aInfo;
    };

    std::unordered_map< OUString, Printer, OUStringHash > m_aPrinters;
    std::unordered_map< OUString, Printer > m_aPrinters;
    PrinterInfo                         m_aGlobalDefaults;
    std::vector< WatchFile >            m_aWatchFiles;
    OUString                     m_aDefaultPrinter;
diff --git a/vcl/inc/unx/cpdmgr.hxx b/vcl/inc/unx/cpdmgr.hxx
index dea3533..6174449 100644
--- a/vcl/inc/unx/cpdmgr.hxx
+++ b/vcl/inc/unx/cpdmgr.hxx
@@ -71,8 +71,8 @@ class CPDManager : public PrinterInfoManager
    std::vector<std::pair<std::string, gchar*>> m_tBackends;
    std::unordered_map< std::string, GDBusProxy * > m_pBackends;
    std::unordered_map< FILE*, OString, FPtrHash > m_aSpoolFiles;
    std::unordered_map< OUString, CPDPrinter *, OUStringHash > m_aCPDDestMap;
    std::unordered_map< OUString, PPDContext, OUStringHash > m_aDefaultContexts;
    std::unordered_map< OUString, CPDPrinter * > m_aCPDDestMap;
    std::unordered_map< OUString, PPDContext > m_aDefaultContexts;
#endif
    CPDManager();
    // Function called when CPDManager is destroyed
diff --git a/vcl/inc/unx/cupsmgr.hxx b/vcl/inc/unx/cupsmgr.hxx
index f0dd911..f32b842 100644
--- a/vcl/inc/unx/cupsmgr.hxx
+++ b/vcl/inc/unx/cupsmgr.hxx
@@ -42,9 +42,9 @@ class CUPSManager : public PrinterInfoManager
    int                                                    m_nDests;
    void*                                                  m_pDests;
    bool                                                   m_bNewDests;
    std::unordered_map< OUString, int, OUStringHash >      m_aCUPSDestMap;
    std::unordered_map< OUString, int >      m_aCUPSDestMap;

    std::unordered_map< OUString, PPDContext, OUStringHash > m_aDefaultContexts;
    std::unordered_map< OUString, PPDContext > m_aDefaultContexts;

    OString                                                m_aUser;
    /** this is a security risk, but the CUPS API demands
diff --git a/vcl/inc/unx/fontmanager.hxx b/vcl/inc/unx/fontmanager.hxx
index 43170bb..1597dca 100644
--- a/vcl/inc/unx/fontmanager.hxx
+++ b/vcl/inc/unx/fontmanager.hxx
@@ -138,10 +138,10 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
    fontID                                      m_nNextFontID;
    std::unordered_map< fontID, PrintFont* >    m_aFonts;
    // for speeding up findFontFileID
    std::unordered_map< OString, std::set< fontID >, OStringHash >
    std::unordered_map< OString, std::set< fontID > >
                                                m_aFontFileToFontID;

    std::unordered_map< OString, int, OStringHash >
    std::unordered_map< OString, int >
    m_aDirToAtom;
    std::unordered_map< int, OString >          m_aAtomToDir;
    int                                         m_nNextDirAtom;
@@ -178,7 +178,7 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
    called from <code>initialize()</code>
    */
    static void initFontconfig();
    void countFontconfigFonts( std::unordered_map<OString, int, OStringHash>& o_rVisitedPaths );
    void countFontconfigFonts( std::unordered_map<OString, int>& o_rVisitedPaths );
    /* deinitialize fontconfig
     */
    static void deinitFontconfig();
diff --git a/vcl/osx/DataFlavorMapping.hxx b/vcl/osx/DataFlavorMapping.hxx
index 2596d13..d98d189 100644
--- a/vcl/osx/DataFlavorMapping.hxx
+++ b/vcl/osx/DataFlavorMapping.hxx
@@ -118,7 +118,7 @@ private:

private:
  css::uno::Reference< css::datatransfer::XMimeContentTypeFactory> mrXMimeCntFactory;
  typedef std::unordered_map< OUString, NSString*, OUStringHash > OfficeOnlyTypes;
  typedef std::unordered_map< OUString, NSString* > OfficeOnlyTypes;
  mutable OfficeOnlyTypes maOfficeOnlyTypes;
};

diff --git a/vcl/source/gdi/configsettings.cxx b/vcl/source/gdi/configsettings.cxx
index fe9c69c..25ec2cd 100644
--- a/vcl/source/gdi/configsettings.cxx
+++ b/vcl/source/gdi/configsettings.cxx
@@ -57,7 +57,7 @@ SettingsConfigItem::~SettingsConfigItem()

void SettingsConfigItem::ImplCommit()
{
    std::unordered_map< OUString, SmallOUStrMap, OUStringHash >::const_iterator group;
    std::unordered_map< OUString, SmallOUStrMap >::const_iterator group;

    for( group = m_aSettings.begin(); group != m_aSettings.end(); ++group )
    {
@@ -122,7 +122,7 @@ void SettingsConfigItem::getValues()

OUString SettingsConfigItem::getValue( const OUString& rGroup, const OUString& rKey ) const
{
    std::unordered_map< OUString, SmallOUStrMap, OUStringHash >::const_iterator group = m_aSettings.find( rGroup );
    std::unordered_map< OUString, SmallOUStrMap >::const_iterator group = m_aSettings.find( rGroup );
    if( group == m_aSettings.end() || group->second.find( rKey ) == group->second.end() )
    {
        return OUString();
diff --git a/vcl/source/gdi/jobset.cxx b/vcl/source/gdi/jobset.cxx
index dfe238e..cc8712a 100644
--- a/vcl/source/gdi/jobset.cxx
+++ b/vcl/source/gdi/jobset.cxx
@@ -355,8 +355,8 @@ SvStream& WriteJobSetup( SvStream& rOStream, const JobSetup& rJobSetup )
            rOStream.WriteBytes( &aOldJobData, nOldJobDataSize );
            rOStream.WriteBytes( rJobData.GetDriverData(), rJobData.GetDriverDataLen() );

            std::unordered_map< OUString, OUString, OUStringHash >::const_iterator it;
            const std::unordered_map< OUString, OUString, OUStringHash >& rValueMap(
            std::unordered_map< OUString, OUString >::const_iterator it;
            const std::unordered_map< OUString, OUString >& rValueMap(
                rJobData.GetValueMap());

            for( it = rValueMap.begin(); it != rValueMap.end(); ++it )
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index fbf9fa9..1654909 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -713,7 +713,7 @@ void PDFWriterImpl::createWidgetFieldName( sal_Int32 i_nWidgetIndex, const PDFWr
            // find or create a hierarchical field
            // first find the fully qualified name up to this field
            aDomain = aFullName.copy( 0, nTokenIndex-1 );
            std::unordered_map< OString, sal_Int32, OStringHash >::const_iterator it = m_aFieldNameMap.find( aDomain );
            std::unordered_map< OString, sal_Int32 >::const_iterator it = m_aFieldNameMap.find( aDomain );
            if( it == m_aFieldNameMap.end() )
            {
                 // create new hierarchy field
@@ -774,7 +774,7 @@ void PDFWriterImpl::createWidgetFieldName( sal_Int32 i_nWidgetIndex, const PDFWr
    // insert widget into its hierarchy field
    if( !aDomain.isEmpty() )
    {
        std::unordered_map< OString, sal_Int32, OStringHash >::const_iterator it = m_aFieldNameMap.find( aDomain );
        std::unordered_map< OString, sal_Int32 >::const_iterator it = m_aFieldNameMap.find( aDomain );
        if( it != m_aFieldNameMap.end() )
        {
            OSL_ENSURE( it->second >= 0 && it->second < sal_Int32( m_aWidgets.size() ), "invalid field index" );
@@ -801,11 +801,11 @@ void PDFWriterImpl::createWidgetFieldName( sal_Int32 i_nWidgetIndex, const PDFWr

    if( ! m_aContext.AllowDuplicateFieldNames )
    {
        std::unordered_map<OString, sal_Int32, OStringHash>::iterator it = m_aFieldNameMap.find( aFullName );
        std::unordered_map<OString, sal_Int32>::iterator it = m_aFieldNameMap.find( aFullName );

        if( it != m_aFieldNameMap.end() ) // not unique
        {
            std::unordered_map< OString, sal_Int32, OStringHash >::const_iterator check_it;
            std::unordered_map< OString, sal_Int32 >::const_iterator check_it;
            OString aTry;
            sal_Int32 nTry = 2;
            do
@@ -2645,7 +2645,7 @@ sal_Int32 PDFWriterImpl::emitStructure( PDFStructureElement& rEle )
        if( ! m_aRoleMap.empty() )
        {
            aLine.append( "/RoleMap<<" );
            for( std::unordered_map<OString,OString,OStringHash>::const_iterator
            for( std::unordered_map<OString,OString>::const_iterator
                 it = m_aRoleMap.begin(); it != m_aRoleMap.end(); ++it )
            {
                aLine.append( '/' );
@@ -11422,7 +11422,7 @@ void PDFWriterImpl::ensureUniqueRadioOnValues()
    {
        PDFWidget& rGroupWidget = m_aWidgets[ group->second ];
        // check whether all kids have a unique OnValue
        std::unordered_map< OUString, sal_Int32, OUStringHash > aOnValues;
        std::unordered_map< OUString, sal_Int32 > aOnValues;
        int nChildren = rGroupWidget.m_aKidsIndex.size();
        bool bIsUnique = true;
        for( int nKid = 0; nKid < nChildren && bIsUnique; nKid++ )
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index 7b8fc46..f4e7648 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -468,8 +468,8 @@ public:
        {}
    };

    typedef std::unordered_map< OString, SvMemoryStream*, OStringHash > PDFAppearanceStreams;
    typedef std::unordered_map< OString, PDFAppearanceStreams, OStringHash > PDFAppearanceMap;
    typedef std::unordered_map< OString, SvMemoryStream* > PDFAppearanceStreams;
    typedef std::unordered_map< OString, PDFAppearanceStreams > PDFAppearanceMap;

    struct PDFWidget : public PDFAnnotation
    {
@@ -680,7 +680,7 @@ private:
     */
    bool                                m_bEmitStructure;
    /* role map of struct tree root */
    std::unordered_map< OString, OString, OStringHash >
    std::unordered_map< OString, OString >
                                        m_aRoleMap;

    /* contains all widgets used in the PDF
@@ -689,7 +689,7 @@ private:
    /* maps radio group id to index of radio group control in m_aWidgets */
    std::map< sal_Int32, sal_Int32 >    m_aRadioGroupWidgets;
    /* unordered_map for field names, used to ensure unique field names */
    std::unordered_map< OString, sal_Int32, OStringHash > m_aFieldNameMap;
    std::unordered_map< OString, sal_Int32 > m_aFieldNameMap;

    /* contains Bitmaps for gradient functions until they are written
     *  to the file stream */
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 515b12d..98410f9 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -374,7 +374,7 @@ ImplPrnQueueList::~ImplPrnQueueList()

void ImplPrnQueueList::Add( SalPrinterQueueInfo* pData )
{
    std::unordered_map< OUString, sal_Int32, OUStringHash >::iterator it =
    std::unordered_map< OUString, sal_Int32 >::iterator it =
        m_aNameToIndex.find( pData->maPrinterName );
    if( it == m_aNameToIndex.end() )
    {
@@ -397,7 +397,7 @@ void ImplPrnQueueList::Add( SalPrinterQueueInfo* pData )
ImplPrnQueueData* ImplPrnQueueList::Get( const OUString& rPrinter )
{
    ImplPrnQueueData* pData = nullptr;
    std::unordered_map<OUString,sal_Int32,OUStringHash>::iterator it =
    std::unordered_map<OUString,sal_Int32>::iterator it =
        m_aNameToIndex.find( rPrinter );
    if( it != m_aNameToIndex.end() )
        pData = &m_aQueueInfos[it->second];
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index a825d0b..f41ae69 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -135,9 +135,9 @@ public:
        ControlDependency() : mnDependsOnEntry( -1 ) {}
    };

    typedef std::unordered_map< OUString, size_t, OUStringHash > PropertyToIndexMap;
    typedef std::unordered_map< OUString, ControlDependency, OUStringHash > ControlDependencyMap;
    typedef std::unordered_map< OUString, css::uno::Sequence< sal_Bool >, OUStringHash > ChoiceDisableMap;
    typedef std::unordered_map< OUString, size_t > PropertyToIndexMap;
    typedef std::unordered_map< OUString, ControlDependency > ControlDependencyMap;
    typedef std::unordered_map< OUString, css::uno::Sequence< sal_Bool > > ChoiceDisableMap;

    VclPtr< Printer >                                           mxPrinter;
    css::uno::Sequence< css::beans::PropertyValue >             maUIOptions;
@@ -1373,7 +1373,7 @@ bool PrinterController::getPrinterModified() const

css::uno::Sequence< css::beans::PropertyValue > PrinterController::getJobProperties( const css::uno::Sequence< css::beans::PropertyValue >& i_rMergeList ) const
{
    std::unordered_set< OUString, OUStringHash > aMergeSet;
    std::unordered_set< OUString > aMergeSet;
    size_t nResultLen = size_t(i_rMergeList.getLength()) + mpImplData->maUIProperties.size() + 3;
    for( int i = 0; i < i_rMergeList.getLength(); i++ )
        aMergeSet.insert( i_rMergeList[i].Name );
@@ -1422,14 +1422,14 @@ const css::uno::Sequence< css::beans::PropertyValue >& PrinterController::getUIO

css::beans::PropertyValue* PrinterController::getValue( const OUString& i_rProperty )
{
    std::unordered_map< OUString, size_t, OUStringHash >::const_iterator it =
    std::unordered_map< OUString, size_t >::const_iterator it =
        mpImplData->maPropertyToIndex.find( i_rProperty );
    return it != mpImplData->maPropertyToIndex.end() ? &mpImplData->maUIProperties[it->second] : nullptr;
}

const css::beans::PropertyValue* PrinterController::getValue( const OUString& i_rProperty ) const
{
    std::unordered_map< OUString, size_t, OUStringHash >::const_iterator it =
    std::unordered_map< OUString, size_t >::const_iterator it =
        mpImplData->maPropertyToIndex.find( i_rProperty );
    return it != mpImplData->maPropertyToIndex.end() ? &mpImplData->maUIProperties[it->second] : nullptr;
}
@@ -1445,7 +1445,7 @@ void PrinterController::setValue( const OUString& i_rPropertyName, const css::un

void PrinterController::setValue( const css::beans::PropertyValue& i_rPropertyValue )
{
    std::unordered_map< OUString, size_t, OUStringHash >::const_iterator it =
    std::unordered_map< OUString, size_t >::const_iterator it =
        mpImplData->maPropertyToIndex.find( i_rPropertyValue.Name );
    if( it != mpImplData->maPropertyToIndex.end() )
        mpImplData->maUIProperties[ it->second ] = i_rPropertyValue;
@@ -1525,7 +1525,7 @@ void PrinterController::setUIOptions( const css::uno::Sequence< css::beans::Prop
bool PrinterController::isUIOptionEnabled( const OUString& i_rProperty ) const
{
    bool bEnabled = false;
    std::unordered_map< OUString, size_t, OUStringHash >::const_iterator prop_it =
    std::unordered_map< OUString, size_t >::const_iterator prop_it =
        mpImplData->maPropertyToIndex.find( i_rProperty );
    if( prop_it != mpImplData->maPropertyToIndex.end() )
    {
@@ -1755,7 +1755,7 @@ sal_Int32 PrinterController::getIntProperty( const OUString& i_rProperty, sal_In
css::uno::Any PrinterOptionsHelper::getValue( const OUString& i_rPropertyName ) const
{
    css::uno::Any aRet;
    std::unordered_map< OUString, css::uno::Any, OUStringHash >::const_iterator it =
    std::unordered_map< OUString, css::uno::Any >::const_iterator it =
        m_aPropertyMap.find( i_rPropertyName );
    if( it != m_aPropertyMap.end() )
        aRet = it->second;
@@ -1792,7 +1792,7 @@ bool PrinterOptionsHelper::processProperties( const css::uno::Sequence< css::bea
    for( sal_Int32 i = 0; i < nElements; i++ )
    {
        bool bElementChanged = false;
        std::unordered_map< OUString, css::uno::Any, OUStringHash >::iterator it =
        std::unordered_map< OUString, css::uno::Any >::iterator it =
            m_aPropertyMap.find( pVals[ i ].Name );
        if( it != m_aPropertyMap.end() )
        {
diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx
index 146d810..5d1b64b 100644
--- a/vcl/source/opengl/OpenGLHelper.cxx
+++ b/vcl/source/opengl/OpenGLHelper.cxx
@@ -89,7 +89,7 @@ OString loadShader(const OUString& rFilename)

OString& getShaderSource(const OUString& rFilename)
{
    static std::unordered_map<OUString, OString, OUStringHash> aMap;
    static std::unordered_map<OUString, OString> aMap;

    if (aMap.find(rFilename) == aMap.end())
    {
diff --git a/vcl/unx/generic/dtrans/X11_selection.cxx b/vcl/unx/generic/dtrans/X11_selection.cxx
index cbda1d9..9aef71b 100644
--- a/vcl/unx/generic/dtrans/X11_selection.cxx
+++ b/vcl/unx/generic/dtrans/X11_selection.cxx
@@ -201,9 +201,9 @@ rtl_TextEncoding x11::getTextPlainEncoding( const OUString& rMimeType )
    return aEncoding;
}

std::unordered_map< OUString, SelectionManager*, OUStringHash >& SelectionManager::getInstances()
std::unordered_map< OUString, SelectionManager* >& SelectionManager::getInstances()
{
    static std::unordered_map< OUString, SelectionManager*, OUStringHash > aInstances;
    static std::unordered_map< OUString, SelectionManager* > aInstances;
    return aInstances;
}

@@ -455,7 +455,7 @@ SelectionManager::~SelectionManager()
    {
        osl::MutexGuard aGuard( *osl::Mutex::getGlobalMutex() );

        std::unordered_map< OUString, SelectionManager*, OUStringHash >::iterator it;
        std::unordered_map< OUString, SelectionManager* >::iterator it;
        for( it = getInstances().begin(); it != getInstances().end(); ++it )
            if( it->second == this )
            {
@@ -671,7 +671,7 @@ SelectionManager& SelectionManager::get( const OUString& rDisplayName )
        aDisplayName = OStringToOUString( getenv( "DISPLAY" ), RTL_TEXTENCODING_ISO_8859_1 );
    SelectionManager* pInstance = nullptr;

    std::unordered_map< OUString, SelectionManager*, OUStringHash >::iterator it = getInstances().find( aDisplayName );
    std::unordered_map< OUString, SelectionManager* >::iterator it = getInstances().find( aDisplayName );
    if( it != getInstances().end() )
        pInstance = it->second;
    else pInstance = getInstances()[ aDisplayName ] = new SelectionManager();
diff --git a/vcl/unx/generic/dtrans/X11_selection.hxx b/vcl/unx/generic/dtrans/X11_selection.hxx
index 12d57a4..e6910f3 100644
--- a/vcl/unx/generic/dtrans/X11_selection.hxx
+++ b/vcl/unx/generic/dtrans/X11_selection.hxx
@@ -151,7 +151,7 @@ namespace x11 {
        >,
        public SelectionAdaptor
    {
        static std::unordered_map< OUString, SelectionManager*, OUStringHash >& getInstances();
        static std::unordered_map< OUString, SelectionManager* >& getInstances();

        // for INCR type selection transfer
        // INCR protocol is used if the data cannot
@@ -345,7 +345,7 @@ namespace x11 {
        // caching for atoms
        std::unordered_map< Atom, OUString >
                                    m_aAtomToString;
        std::unordered_map< OUString, Atom, OUStringHash >
        std::unordered_map< OUString, Atom >
                                    m_aStringToAtom;

        // the registered selections
diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 34b9ba2..cfdb53b 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -86,8 +86,8 @@ public:
    FcResult LocalizedElementFromPattern(FcPattern const * pPattern, FcChar8 **family,
                                         const char *elementtype, const char *elementlangtype);
//to-do, make private and add some cleaner accessor methods
    std::unordered_map< OString, OString, OStringHash > m_aFontNameToLocalized;
    std::unordered_map< OString, OString, OStringHash > m_aLocalizedToCanonical;
    std::unordered_map< OString, OString > m_aFontNameToLocalized;
    std::unordered_map< OString, OString > m_aLocalizedToCanonical;
private:
    void cacheLocalizedFontNames(const FcChar8 *origfontname, const FcChar8 *bestfontname, const std::vector< lang_and_element > &lang_and_elements);

@@ -474,7 +474,7 @@ static void lcl_FcFontSetRemove(FcFontSet* pFSet, int i)
    memmove(pFSet->fonts + i, pFSet->fonts + i + 1, nTail*sizeof(FcPattern*));
}

void PrintFontManager::countFontconfigFonts( std::unordered_map<OString, int, OStringHash>& o_rVisitedPaths )
void PrintFontManager::countFontconfigFonts( std::unordered_map<OString, int>& o_rVisitedPaths )
{
#if OSL_DEBUG_LEVEL > 1
    int nFonts = 0;
@@ -1057,7 +1057,7 @@ void PrintFontManager::Substitute( FontSelectPattern &rPattern, OUString& rMissi
                if( eFamilyRes == FcResultMatch )
                {
                    OString sFamily(reinterpret_cast<char*>(family));
                    std::unordered_map< OString, OString, OStringHash >::const_iterator aI =
                    std::unordered_map< OString, OString >::const_iterator aI =
                        rWrapper.m_aFontNameToLocalized.find(sFamily);
                    if (aI != rWrapper.m_aFontNameToLocalized.end())
                        sFamily = aI->second;
@@ -1177,7 +1177,7 @@ FontConfigFontOptions* PrintFontManager::getFontOptions(const FastPrintFontInfo&

    OString sFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );

    std::unordered_map< OString, OString, OStringHash >::const_iterator aI = rWrapper.m_aLocalizedToCanonical.find(sFamily);
    std::unordered_map< OString, OString >::const_iterator aI = rWrapper.m_aLocalizedToCanonical.find(sFamily);
    if (aI != rWrapper.m_aLocalizedToCanonical.end())
        sFamily = aI->second;
    if( !sFamily.isEmpty() )
diff --git a/vcl/unx/generic/fontmanager/fontmanager.cxx b/vcl/unx/generic/fontmanager/fontmanager.cxx
index dd0cfb7..0962ce6 100644
--- a/vcl/unx/generic/fontmanager/fontmanager.cxx
+++ b/vcl/unx/generic/fontmanager/fontmanager.cxx
@@ -169,7 +169,7 @@ OString PrintFontManager::getDirectory( int nAtom ) const
int PrintFontManager::getDirectoryAtom( const OString& rDirectory )
{
    int nAtom = 0;
    std::unordered_map< OString, int, OStringHash >::const_iterator it
    std::unordered_map< OString, int >::const_iterator it
          ( m_aDirToAtom.find( rDirectory ) );
    if( it != m_aDirToAtom.end() )
        nAtom = it->second;
@@ -312,7 +312,7 @@ fontID PrintFontManager::findFontFileID( int nDirID, const OString& rFontFile, i
{
    fontID nID = 0;

    std::unordered_map< OString, ::std::set< fontID >, OStringHash >::const_iterator set_it = m_aFontFileToFontID.find( rFontFile );
    std::unordered_map< OString, ::std::set< fontID > >::const_iterator set_it = m_aFontFileToFontID.find( rFontFile );
    if( set_it == m_aFontFileToFontID.end() )
        return nID;

@@ -334,7 +334,7 @@ std::vector<fontID> PrintFontManager::findFontFileIDs( int nDirID, const OString
{
    std::vector<fontID> aIds;

    std::unordered_map< OString, ::std::set< fontID >, OStringHash >::const_iterator set_it = m_aFontFileToFontID.find( rFontFile );
    std::unordered_map< OString, ::std::set< fontID > >::const_iterator set_it = m_aFontFileToFontID.find( rFontFile );
    if( set_it == m_aFontFileToFontID.end() )
        return aIds;

@@ -754,7 +754,7 @@ void PrintFontManager::initialize()
    }

    // protect against duplicate paths
    std::unordered_map< OString, int, OStringHash > visited_dirs;
    std::unordered_map< OString, int > visited_dirs;

    // Don't search directories that fontconfig already did
    countFontconfigFonts( visited_dirs );
diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx
index 7c932a4..5764e2d 100644
--- a/vcl/unx/generic/printer/cpdmgr.cxx
+++ b/vcl/unx/generic/printer/cpdmgr.cxx
@@ -154,13 +154,13 @@ void CPDManager::printerRemoved (GDBusConnection *,
    uniqueName << id << ", " << backend_name;
    rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
    OUString aUniqueName = OStringToOUString( uniqueName.str().c_str(), aEncoding );
    std::unordered_map<OUString, CPDPrinter *, OUStringHash>::iterator it = pManager->m_aCPDDestMap.find( aUniqueName );
    std::unordered_map<OUString, CPDPrinter *>::iterator it = pManager->m_aCPDDestMap.find( aUniqueName );
    if (it == pManager->m_aCPDDestMap.end()) {
        SAL_WARN("vcl.unx.print", "CPD trying to remove non-existent printer from list");
        return;
    }
    pManager->m_aCPDDestMap.erase(it);
    std::unordered_map<OUString, Printer, OUStringHash>::iterator printersIt = pManager->m_aPrinters.find( aUniqueName );
    std::unordered_map<OUString, Printer>::iterator printersIt = pManager->m_aPrinters.find( aUniqueName );
    if (printersIt == pManager->m_aPrinters.end()) {
        SAL_WARN("vcl.unx.print", "CPD trying to remove non-existent printer from m_aPrinters");
        return;
@@ -190,7 +190,7 @@ std::vector<std::pair<std::string, gchar*>> CPDManager::getTempBackends() {

void CPDManager::addNewPrinter(const OUString& aPrinterName, const OUString& aUniqueName, CPDPrinter *pDest) {
    std::pair<OUString, CPDPrinter *> newPrinter (aUniqueName, pDest);
    std::unordered_map<OUString, CPDPrinter *, OUStringHash>::iterator it = m_aCPDDestMap.find( aUniqueName );
    std::unordered_map<OUString, CPDPrinter *>::iterator it = m_aCPDDestMap.find( aUniqueName );
    if (it == m_aCPDDestMap.end()) {
        m_aCPDDestMap.insert(newPrinter);
    } else {
@@ -223,7 +223,7 @@ void CPDManager::addNewPrinter(const OUString& aPrinterName, const OUString& aUn
    // behaviour
    aPrinter.m_aInfo.m_pParser = nullptr;
    aPrinter.m_aInfo.m_aContext.setParser( nullptr );
    std::unordered_map< OUString, PPDContext, OUStringHash >::const_iterator c_it = m_aDefaultContexts.find( aUniqueName );
    std::unordered_map< OUString, PPDContext >::const_iterator c_it = m_aDefaultContexts.find( aUniqueName );
    if( c_it != m_aDefaultContexts.end() )
    {
        aPrinter.m_aInfo.m_pParser = c_it->second.getParser();
@@ -301,7 +301,7 @@ CPDManager::~CPDManager()
    {
        g_object_unref(it->second);
    }
    std::unordered_map<OUString, CPDPrinter *, OUStringHash>::iterator dest_it =
    std::unordered_map<OUString, CPDPrinter *>::iterator dest_it =
        m_aCPDDestMap.begin();
    for(; dest_it != m_aCPDDestMap.end(); ++dest_it)
    {
@@ -322,7 +322,7 @@ const PPDParser* CPDManager::createCPDParser( const OUString& rPrinter )
    else
        aPrinter = rPrinter;

    std::unordered_map< OUString, CPDPrinter *, OUStringHash >::iterator dest_it =
    std::unordered_map< OUString, CPDPrinter * >::iterator dest_it =
        m_aCPDDestMap.find( aPrinter );

    if( dest_it != m_aCPDDestMap.end() )
@@ -517,7 +517,7 @@ void CPDManager::initialize()

    // remove everything that is not a CUPS printer and not
    // a special purpose printer (PDF, Fax)
    std::unordered_map< OUString, Printer, OUStringHash >::iterator it = m_aPrinters.begin();
    std::unordered_map< OUString, Printer >::iterator it = m_aPrinters.begin();
    while (it != m_aPrinters.end())
    {
        if( m_aCPDDestMap.find( it->first ) != m_aCPDDestMap.end() )
@@ -539,13 +539,13 @@ void CPDManager::initialize()
void CPDManager::setupJobContextData( JobData& rData )
{
#if ENABLE_DBUS && ENABLE_GIO
    std::unordered_map<OUString, CPDPrinter *, OUStringHash>::iterator dest_it =
    std::unordered_map<OUString, CPDPrinter *>::iterator dest_it =
        m_aCPDDestMap.find( rData.m_aPrinterName );

    if( dest_it == m_aCPDDestMap.end() )
        return PrinterInfoManager::setupJobContextData( rData );

    std::unordered_map< OUString, Printer, OUStringHash >::iterator p_it =
    std::unordered_map< OUString, Printer >::iterator p_it =
        m_aPrinters.find( rData.m_aPrinterName );
    if( p_it == m_aPrinters.end() ) // huh ?
    {
@@ -681,7 +681,7 @@ bool CPDManager::endSpool( const OUString& rPrintername, const OUString& rJobTit
    bool success = false;
#if ENABLE_DBUS && ENABLE_GIO
    SAL_INFO( "vcl.unx.print", "endSpool: " << rPrintername << "," << rJobTitle << " copy count = " << rDocumentJobData.m_nCopies );
    std::unordered_map< OUString, CPDPrinter *, OUStringHash >::iterator dest_it =
    std::unordered_map< OUString, CPDPrinter * >::iterator dest_it =
        m_aCPDDestMap.find( rPrintername );
    if( dest_it == m_aCPDDestMap.end() )
    {
@@ -777,7 +777,7 @@ bool CPDManager::setDefaultPrinter( const OUString& rName )
{
    bool bSuccess = false;
#if ENABLE_DBUS && ENABLE_GIO
    std::unordered_map< OUString, CPDPrinter *, OUStringHash >::iterator nit =
    std::unordered_map< OUString, CPDPrinter * >::iterator nit =
        m_aCPDDestMap.find( rName );
    if( nit != m_aCPDDestMap.end())
    {
diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index d96a85c..480aa28 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -333,7 +333,7 @@ void CUPSManager::initialize()
        // behaviour
        aPrinter.m_aInfo.m_pParser = nullptr;
        aPrinter.m_aInfo.m_aContext.setParser( nullptr );
        std::unordered_map< OUString, PPDContext, OUStringHash >::const_iterator c_it = m_aDefaultContexts.find( aPrinterName );
        std::unordered_map< OUString, PPDContext >::const_iterator c_it = m_aDefaultContexts.find( aPrinterName );
        if( c_it != m_aDefaultContexts.end() )
        {
            aPrinter.m_aInfo.m_pParser = c_it->second.getParser();
@@ -350,7 +350,7 @@ void CUPSManager::initialize()
    // remove everything that is not a CUPS printer and not
    // a special purpose printer (PDF, Fax)
    std::list< OUString > aRemovePrinters;
    for( std::unordered_map< OUString, Printer, OUStringHash >::iterator it = m_aPrinters.begin();
    for( std::unordered_map< OUString, Printer >::iterator it = m_aPrinters.begin();
         it != m_aPrinters.end(); ++it )
    {
        if( m_aCUPSDestMap.find( it->first ) != m_aCUPSDestMap.end() )
@@ -425,7 +425,7 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )
    {
        if (m_nDests && m_pDests)
        {
            std::unordered_map< OUString, int, OUStringHash >::iterator dest_it =
            std::unordered_map< OUString, int >::iterator dest_it =
            m_aCUPSDestMap.find( aPrinter );
            if( dest_it != m_aCUPSDestMap.end() )
            {
@@ -504,13 +504,13 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter )

void CUPSManager::setupJobContextData( JobData& rData )
{
    std::unordered_map< OUString, int, OUStringHash >::iterator dest_it =
    std::unordered_map< OUString, int >::iterator dest_it =
        m_aCUPSDestMap.find( rData.m_aPrinterName );

    if( dest_it == m_aCUPSDestMap.end() )
        return PrinterInfoManager::setupJobContextData( rData );

    std::unordered_map< OUString, Printer, OUStringHash >::iterator p_it =
    std::unordered_map< OUString, Printer >::iterator p_it =
        m_aPrinters.find( rData.m_aPrinterName );
    if( p_it == m_aPrinters.end() ) // huh ?
    {
@@ -625,7 +625,7 @@ bool CUPSManager::endSpool( const OUString& rPrintername, const OUString& rJobTi

    osl::MutexGuard aGuard( m_aCUPSMutex );

    std::unordered_map< OUString, int, OUStringHash >::iterator dest_it =
    std::unordered_map< OUString, int >::iterator dest_it =
        m_aCUPSDestMap.find( rPrintername );
    if( dest_it == m_aCUPSDestMap.end() )
    {
@@ -753,7 +753,7 @@ bool CUPSManager::removePrinter( const OUString& rName, bool bCheck )
bool CUPSManager::setDefaultPrinter( const OUString& rName )
{
    bool bSuccess = false;
    std::unordered_map< OUString, int, OUStringHash >::iterator nit =
    std::unordered_map< OUString, int >::iterator nit =
        m_aCUPSDestMap.find( rName );
    if( nit != m_aCUPSDestMap.end() && m_aCUPSMutex.tryToAcquire() )
    {
@@ -777,10 +777,10 @@ bool CUPSManager::writePrinterConfig()
    bool bDestModified = false;
    rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();

    for( std::unordered_map< OUString, Printer, OUStringHash >::iterator prt =
    for( std::unordered_map< OUString, Printer >::iterator prt =
             m_aPrinters.begin(); prt != m_aPrinters.end(); ++prt )
    {
        std::unordered_map< OUString, int, OUStringHash >::iterator nit =
        std::unordered_map< OUString, int >::iterator nit =
            m_aCUPSDestMap.find( prt->first );
        if( nit == m_aCUPSDestMap.end() )
            continue;
diff --git a/vcl/unx/generic/printer/ppdparser.cxx b/vcl/unx/generic/printer/ppdparser.cxx
index 292010d..40ffdfe 100644
--- a/vcl/unx/generic/printer/ppdparser.cxx
+++ b/vcl/unx/generic/printer/ppdparser.cxx
@@ -80,7 +80,7 @@ namespace psp
        };

        typedef std::unordered_map< css::lang::Locale, OUString, LocaleHash, LocaleEqual > translation_map;
        typedef std::unordered_map< OUString, translation_map, OUStringHash > key_translation_map;
        typedef std::unordered_map< OUString, translation_map > key_translation_map;

        key_translation_map     m_aTranslations;
        public:
@@ -240,7 +240,7 @@ namespace psp
    {
    public:
        std::vector< std::unique_ptr<PPDParser> > aAllParsers;
        std::unique_ptr<std::unordered_map< OUString, OUString, OUStringHash >> pAllPPDFiles;
        std::unique_ptr<std::unordered_map< OUString, OUString >> pAllPPDFiles;
        PPDCache()
            : pAllPPDFiles(nullptr)
        {}
@@ -440,7 +440,7 @@ void PPDParser::initPPDFiles(PPDCache &rPPDCache)
    if( rPPDCache.pAllPPDFiles )
        return;

    rPPDCache.pAllPPDFiles.reset(new std::unordered_map< OUString, OUString, OUStringHash >);
    rPPDCache.pAllPPDFiles.reset(new std::unordered_map< OUString, OUString >);

    // check installation directories
    std::vector< OUString > aPathList;
@@ -475,7 +475,7 @@ OUString PPDParser::getPPDFile( const OUString& rFile )
    PPDDecompressStream aStream( aPPD.PathToFileName() );
    if( ! aStream.IsOpen() )
    {
        std::unordered_map< OUString, OUString, OUStringHash >::const_iterator it;
        std::unordered_map< OUString, OUString >::const_iterator it;
        PPDCache &rPPDCache = thePPDCache::get();

        bool bRetry = true;
diff --git a/vcl/unx/generic/printer/printerinfomanager.cxx b/vcl/unx/generic/printer/printerinfomanager.cxx
index 9b82740..cdd5580 100644
--- a/vcl/unx/generic/printer/printerinfomanager.cxx
+++ b/vcl/unx/generic/printer/printerinfomanager.cxx
@@ -458,7 +458,7 @@ void PrinterInfoManager::initialize()
                FileBase::getFileURLFromSystemPath( aFile.PathToFileName(), aPrinter.m_aFile );
                aPrinter.m_bModified    = false;
                aPrinter.m_aGroup       = aConfig.GetGroupName( nGroup );
                std::unordered_map< OUString, Printer, OUStringHash >::const_iterator find_it =
                std::unordered_map< OUString, Printer >::const_iterator find_it =
                m_aPrinters.find( aPrinterName );
                if( find_it != m_aPrinters.end() )
                {
@@ -537,7 +537,7 @@ void PrinterInfoManager::initialize()

void PrinterInfoManager::listPrinters( ::std::vector< OUString >& rVector ) const
{
    std::unordered_map< OUString, Printer, OUStringHash >::const_iterator it;
    std::unordered_map< OUString, Printer >::const_iterator it;
    rVector.clear();
    for( it = m_aPrinters.begin(); it != m_aPrinters.end(); ++it )
        rVector.push_back( it->first );
@@ -546,7 +546,7 @@ void PrinterInfoManager::listPrinters( ::std::vector< OUString >& rVector ) cons
const PrinterInfo& PrinterInfoManager::getPrinterInfo( const OUString& rPrinter ) const
{
    static PrinterInfo aEmptyInfo;
    std::unordered_map< OUString, Printer, OUStringHash >::const_iterator it = m_aPrinters.find( rPrinter );
    std::unordered_map< OUString, Printer >::const_iterator it = m_aPrinters.find( rPrinter );

    SAL_WARN_IF( it == m_aPrinters.end(), "vcl", "Do not ask for info about nonexistent printers" );

@@ -568,9 +568,9 @@ static bool checkWriteability( const OUString& rUniPath )
bool PrinterInfoManager::writePrinterConfig()
{
    // find at least one writeable config
    std::unordered_map< OUString, Config*, OUStringHash > files;
    std::unordered_map< OUString, int, OUStringHash > rofiles;
    std::unordered_map< OUString, Config*, OUStringHash >::iterator file_it;
    std::unordered_map< OUString, Config* > files;
    std::unordered_map< OUString, int > rofiles;
    std::unordered_map< OUString, Config* >::iterator file_it;

    for( ::std::vector< WatchFile >::const_iterator wit = m_aWatchFiles.begin(); wit != m_aWatchFiles.end(); ++wit )
    {
@@ -587,7 +587,7 @@ bool PrinterInfoManager::writePrinterConfig()
    Config* pGlobal = files.begin()->second;
    pGlobal->SetGroup( GLOBAL_DEFAULTS_GROUP );

    std::unordered_map< OUString, Printer, OUStringHash >::iterator it;
    std::unordered_map< OUString, Printer >::iterator it;
    for( it = m_aPrinters.begin(); it != m_aPrinters.end(); ++it )
    {
        if( ! it->second.m_bModified )
@@ -757,7 +757,7 @@ bool PrinterInfoManager::removePrinter( const OUString& rPrinterName, bool bChec
{
    bool bSuccess = true;

    std::unordered_map< OUString, Printer, OUStringHash >::iterator it = m_aPrinters.find( rPrinterName );
    std::unordered_map< OUString, Printer >::iterator it = m_aPrinters.find( rPrinterName );
    if( it != m_aPrinters.end() )
    {
        if( !it->second.m_aFile.isEmpty() )
@@ -809,7 +809,7 @@ bool PrinterInfoManager::setDefaultPrinter( const OUString& rPrinterName )
{
    bool bSuccess = false;

    std::unordered_map< OUString, Printer, OUStringHash >::iterator it = m_aPrinters.find( rPrinterName );
    std::unordered_map< OUString, Printer >::iterator it = m_aPrinters.find( rPrinterName );
    if( it != m_aPrinters.end() )
    {
        bSuccess = true;
@@ -855,7 +855,7 @@ bool PrinterInfoManager::endSpool( const OUString& /*rPrintername*/, const OUStr

void PrinterInfoManager::setupJobContextData( JobData& rData )
{
    std::unordered_map< OUString, Printer, OUStringHash >::iterator it =
    std::unordered_map< OUString, Printer >::iterator it =
    m_aPrinters.find( rData.m_aPrinterName );
    if( it != m_aPrinters.end() )
    {
@@ -967,8 +967,8 @@ static void lpgetSysQueueTokenHandler(
    const SystemCommandParameters* )
{
    rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
    std::unordered_set< OUString, OUStringHash > aUniqueSet;
    std::unordered_set< OUString, OUStringHash > aOnlySet;
    std::unordered_set< OUString > aUniqueSet;
    std::unordered_set< OUString > aOnlySet;
    aUniqueSet.insert( OUString( "_all" ) );
    aUniqueSet.insert( OUString( "_default" ) );

@@ -1064,7 +1064,7 @@ static void standardSysQueueTokenHandler(
    const SystemCommandParameters* i_pParms)
{
    rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
    std::unordered_set< OUString, OUStringHash > aUniqueSet;
    std::unordered_set< OUString > aUniqueSet;
    OString aForeToken( i_pParms->pForeToken );
    OString aAftToken( i_pParms->pAftToken );
    /* Normal Unix print queue discovery, also used for Darwin 5 LPR printing
diff --git a/vcl/win/app/salinfo.cxx b/vcl/win/app/salinfo.cxx
index 52398b3..3aa33ef 100644
--- a/vcl/win/app/salinfo.cxx
+++ b/vcl/win/app/salinfo.cxx
@@ -102,7 +102,7 @@ bool WinSalSystem::initMonitors()
        DISPLAY_DEVICEW aDev;
        aDev.cb = sizeof( aDev );
        DWORD nDevice = 0;
        std::unordered_map< OUString, int, OUStringHash > aDeviceStringCount;
        std::unordered_map< OUString, int > aDeviceStringCount;
        while( EnumDisplayDevicesW( nullptr, nDevice++, &aDev, 0 ) )
        {
            if( (aDev.StateFlags & DISPLAY_DEVICE_ACTIVE)
@@ -125,7 +125,7 @@ bool WinSalSystem::initMonitors()
        EnumDisplayMonitors( aDesktopRC, nullptr, ImplEnumMonitorProc, reinterpret_cast<LPARAM>(this) );

        // append monitor numbers to name strings
        std::unordered_map< OUString, int, OUStringHash > aDevCount( aDeviceStringCount );
        std::unordered_map< OUString, int > aDevCount( aDeviceStringCount );
        unsigned int nMonitorCount = m_aMonitors.size();
        for( unsigned int i = 0; i < nMonitorCount; i++ )
        {
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 6a4677f..823450f 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -166,7 +166,7 @@ struct FieldConversion
    FieldId             eFieldId;
};

typedef std::unordered_map<OUString, FieldConversion, OUStringHash> FieldConversionMap_t;
typedef std::unordered_map<OUString, FieldConversion> FieldConversionMap_t;

uno::Any FloatingTableInfo::getPropertyValue(const OUString &propertyName)
{
diff --git a/writerperfect/qa/unit/WpftFilterTestBase.hxx b/writerperfect/qa/unit/WpftFilterTestBase.hxx
index 34aa728..31267f8 100644
--- a/writerperfect/qa/unit/WpftFilterTestBase.hxx
+++ b/writerperfect/qa/unit/WpftFilterTestBase.hxx
@@ -41,7 +41,7 @@ namespace writerperfect
namespace test
{

typedef std::unordered_map<rtl::OUString, bool, rtl::OUStringHash> WpftOptionalMap_t;
typedef std::unordered_map<rtl::OUString, bool> WpftOptionalMap_t;

class WPFTQAHELPER_DLLPUBLIC WpftFilterTestBase
    : public ::test::FiltersTest
diff --git a/writerperfect/source/common/WPXSvInputStream.cxx b/writerperfect/source/common/WPXSvInputStream.cxx
index 7e848a2..75a56b3 100644
--- a/writerperfect/source/common/WPXSvInputStream.cxx
+++ b/writerperfect/source/common/WPXSvInputStream.cxx
@@ -124,8 +124,8 @@ struct OLEStreamData
    rtl::OString RVNGname;
};

typedef std::unordered_map<rtl::OUString, std::size_t, rtl::OUStringHash> NameMap_t;
typedef std::unordered_map<rtl::OUString, SotStorageRefWrapper, rtl::OUStringHash> OLEStorageMap_t;
typedef std::unordered_map<rtl::OUString, std::size_t> NameMap_t;
typedef std::unordered_map<rtl::OUString, SotStorageRefWrapper> OLEStorageMap_t;

/** Representation of an OLE2 storage.
  *
diff --git a/xmlhelp/source/cxxhelp/provider/databases.hxx b/xmlhelp/source/cxxhelp/provider/databases.hxx
index b72dfb3d..e5beff4 100644
--- a/xmlhelp/source/cxxhelp/provider/databases.hxx
+++ b/xmlhelp/source/cxxhelp/provider/databases.hxx
@@ -257,37 +257,34 @@ namespace chelp {

        std::vector< OUString >    m_avModules;

        typedef std::unordered_map< OUString,helpdatafileproxy::Hdf*,OUStringHash >   DatabasesTable;
        typedef std::unordered_map< OUString,helpdatafileproxy::Hdf* >   DatabasesTable;
        DatabasesTable m_aDatabases;         // Language and module dependent databases

        typedef std::unordered_map< OUString,OUString,OUStringHash > LangSetTable;
        typedef std::unordered_map< OUString,OUString > LangSetTable;
        LangSetTable m_aLangSet;   // Mapping to of lang-country to lang

        typedef std::unordered_map< OUString,StaticModuleInformation*,OUStringHash > ModInfoTable;
        typedef std::unordered_map< OUString,StaticModuleInformation* > ModInfoTable;
        ModInfoTable m_aModInfo;   // Module information

        typedef std::unordered_map< OUString,KeywordInfo*,OUStringHash > KeywordInfoTable;
        typedef std::unordered_map< OUString,KeywordInfo* > KeywordInfoTable;
        KeywordInfoTable m_aKeywordInfo;   // Module information

        typedef
        std::unordered_map<
             OUString,
             css::uno::Reference< css::container::XHierarchicalNameAccess >,
             OUStringHash >         ZipFileTable;
             css::uno::Reference< css::container::XHierarchicalNameAccess > > ZipFileTable;
        ZipFileTable m_aZipFileTable;   // No closing of an once opened jarfile

        typedef
        std::unordered_map<
             OUString,
             css::uno::Reference< css::i18n::XCollator >,
             OUStringHash >      CollatorTable;
             css::uno::Reference< css::i18n::XCollator > > CollatorTable;
        CollatorTable    m_aCollatorTable;


        typedef
        std::unordered_set<
            OString,
            OStringHash >      EmptyActiveTextSet;
            OString >       EmptyActiveTextSet;
        EmptyActiveTextSet  m_aEmptyActiveTextSet;

        // methods
@@ -310,8 +307,7 @@ namespace chelp {
    typedef std::unordered_map
    <
        OUString,
        bool,
        OUStringHash
        bool
    >
    ExtensionHelpExistenceMap;

diff --git a/xmlhelp/source/cxxhelp/provider/db.hxx b/xmlhelp/source/cxxhelp/provider/db.hxx
index 9343280..e0d7d60 100644
--- a/xmlhelp/source/cxxhelp/provider/db.hxx
+++ b/xmlhelp/source/cxxhelp/provider/db.hxx
@@ -46,8 +46,8 @@ namespace helpdatafileproxy {
            { return m_pBuffer.get(); }
    };

    typedef std::unordered_map< OString,std::pair<int,int>,OStringHash >   StringToValPosMap;
    typedef std::unordered_map< OString,OString,OStringHash >     StringToDataMap;
    typedef std::unordered_map< OString,std::pair<int,int> >   StringToValPosMap;
    typedef std::unordered_map< OString,OString >     StringToDataMap;

    class Hdf
    {
diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
index 5f6ae87..f85c74f 100644
--- a/xmloff/source/draw/ximpcustomshape.cxx
+++ b/xmloff/source/draw/ximpcustomshape.cxx
@@ -1144,7 +1144,7 @@ void SdXMLCustomShapePropertyMerge( std::vector< css::beans::PropertyValue >& rP
    }
}

typedef std::unordered_map< OUString, sal_Int32, OUStringHash > EquationHashMap;
typedef std::unordered_map< OUString, sal_Int32 > EquationHashMap;

/* if rPara.Type is from type EnhancedCustomShapeParameterType::EQUATION, the name of the equation
   will be converted from OUString to index */
diff --git a/xmloff/source/forms/property_meta_data.cxx b/xmloff/source/forms/property_meta_data.cxx
index e1946bcc..3e4977c 100644
--- a/xmloff/source/forms/property_meta_data.cxx
+++ b/xmloff/source/forms/property_meta_data.cxx
@@ -68,7 +68,7 @@ namespace xmloff { namespace metadata
        // one big instance, since in this case, every instance can quickly decide whether it is responsible
        // for some attribute or property, and otherwise delegate to the next instance.

        typedef std::unordered_map< OUString, const PropertyDescription*, OUStringHash > DescriptionsByName;
        typedef std::unordered_map< OUString, const PropertyDescription* > DescriptionsByName;

        const DescriptionsByName& lcl_getPropertyDescriptions()
        {
@@ -105,7 +105,7 @@ namespace xmloff { namespace metadata
            return s_indexedPropertyGroups;
        }

        typedef std::unordered_map< OUString, XMLTokenEnum, OUStringHash > ReverseTokenLookup;
        typedef std::unordered_map< OUString, XMLTokenEnum > ReverseTokenLookup;

        const ReverseTokenLookup& getReverseTokenLookup()
        {
diff --git a/xmloff/source/transform/EventOOoTContext.cxx b/xmloff/source/transform/EventOOoTContext.cxx
index 59bbfb1..7b0af9b 100644
--- a/xmloff/source/transform/EventOOoTContext.cxx
+++ b/xmloff/source/transform/EventOOoTContext.cxx
@@ -35,7 +35,7 @@ using namespace ::com::sun::star::xml::sax;
using namespace ::xmloff::token;

class XMLTransformerOOoEventMap_Impl:
    public std::unordered_map< OUString, NameKey_Impl, OUStringHash >
    public std::unordered_map< OUString, NameKey_Impl >
{
public:

diff --git a/xmloff/source/transform/TransformerTokenMap.hxx b/xmloff/source/transform/TransformerTokenMap.hxx
index 0379ed5..047d8ba 100644
--- a/xmloff/source/transform/TransformerTokenMap.hxx
+++ b/xmloff/source/transform/TransformerTokenMap.hxx
@@ -25,8 +25,7 @@
#include <unordered_map>

class XMLTransformerTokenMap :
    public std::unordered_map< OUString, ::xmloff::token::XMLTokenEnum,
                                   OUStringHash >
    public std::unordered_map< OUString, ::xmloff::token::XMLTokenEnum >
{
public:
    explicit XMLTransformerTokenMap( ::xmloff::token::XMLTokenEnum *pInit );
diff --git a/xmlscript/source/xml_helper/xml_impctx.cxx b/xmlscript/source/xml_helper/xml_impctx.cxx
index a51a99a..31bf7b4 100644
--- a/xmlscript/source/xml_helper/xml_impctx.cxx
+++ b/xmlscript/source/xml_helper/xml_impctx.cxx
@@ -57,7 +57,7 @@ OUString getImplementationName_DocumentHandlerImpl()
    return OUString( "com.sun.star.comp.xml.input.SaxDocumentHandler" );
}

typedef std::unordered_map< OUString, sal_Int32, OUStringHash > t_OUString2LongMap;
typedef std::unordered_map< OUString, sal_Int32 > t_OUString2LongMap;

struct PrefixEntry
{
@@ -68,7 +68,7 @@ struct PrefixEntry
};

typedef std::unordered_map<
    OUString, std::unique_ptr<PrefixEntry>, OUStringHash > t_OUString2PrefixMap;
    OUString, std::unique_ptr<PrefixEntry> > t_OUString2PrefixMap;

struct ElementEntry
{