typedef unsigned int uint; class QChar { } ; class QByteArray { }; class QObject { }; class QUrl { }; class QWebNetworkJob { public:QUrl url ()const; }; uint qHash (QChar key); uint qHash (const QByteArray & key); struct QHashData { static QHashData shared_null; }; template < class Key, class T > class QHash { union { QHashData *d; }; public: inline QHash ():d (&QHashData::shared_null) { } const T value (const Key & key) const; }; template < class Key, class T > inline const T QHash < Key, T >::value (const Key & akey) const { uint h = qHash (akey); } namespace WebCore { struct HostInfo { HostInfo (const QUrl & url); }; class WebCoreHttp:public QObject { }; class NetworkLoader:public QObject { public:void request (QWebNetworkJob *); QHash < HostInfo, WebCoreHttp * >m_hostMapping; } *stream; }; using namespace WebCore; uint qHash(const HostInfo &info); void NetworkLoader::request (QWebNetworkJob * job) { HostInfo hostInfo (job->url ()); WebCoreHttp *httpConnection = m_hostMapping.value (hostInfo); }