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?