This test program uses some of the Webkit types (in 
src/3rdparty/webkit/JavaScriptCore/wtf in qt-copy):

#include <string>
#include <HashMap.h>

typedef WTF::HashMap<const char *,const char *> T;

void foo() {
        T  tbl;
        T::HashTableType ttbl;
        ttbl.add(std::make_pair(17,17));
        tbl.set("foo","bar");
}

which fails to compile like so:

"t.cc", line 10: Information: Instantiating WTF::HashMap<const char*, const 
char*, WTF::PtrHash<const char*>, WTF::HashTraits<const char*>, 
WTF::HashTraits<const char*>>::set(const char*const&, const char*const&).
"../JavaScriptCore/wtf//HashMap.h", line 273: Error: Cannot use 
std::pair<WTF::HashTableIterator<int, std::pair<int, int>, 
WTF::PairFirstExtractor<std::pair<int, int>>, WTF::IntHash<int>, 
WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int>>, 
WTF::HashTraits<int>>, bool> to initialize 
std::pair<WTF::HashTableIteratorAdapter<WTF::HashTable<int, std::pair<int, 
int>, WTF::PairFirstExtractor<std::pair<int, int>>, WTF::IntHash<int>, 
WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int>>, 
WTF::HashTraits<int>>, std::pair<const char*, const char*>>, bool>.
"../JavaScriptCore/wtf//HashMap.h", line 281:     Where: While 
instantiating "WTF::HashMap<const char*, const char*, WTF::PtrHash<const 
char*>, WTF::HashTraits<const char*>, WTF::HashTraits<const 
char*>>::inlineAdd(const char*const&, const char*const&)".
"../JavaScriptCore/wtf//HashMap.h", line 281:     Where: Instantiated from 
WTF::HashMap<const char*, const char*, WTF::PtrHash<const char*>, 
WTF::HashTraits<const char*>, WTF::HashTraits<const char*>>::set(const 
char*const&, const char*const&).


which I fail to understand. Any takers?

Reply via email to