#include <string>
#include <vector>
+#if defined(HAVE_EXT_HASH_MAP)
+#include <ext/hash_map>
+#elif defined(HAVE_HASH_MAP)
#include <hash_map>
+#else
+#error "no hash_map could be found"
+#endif
#include <list>
#include "dom.hh"
std::string complete(const std::string, std::list<std::string>&) const;
private:
+#if defined(HAVE_EXT_HASH_MAP)
+ struct StringHash : public std::unary_function< std::string, size_t >
+ { size_t operator()(const std::string& s) const { return __gnu_cxx::hash<char*>()(s.c_str()); } };
+#elif defined(HAVE_HASH_MAP)
struct StringHash : public std::unary_function< std::string, size_t >
{ size_t operator()(const std::string& s) const { return hash<char*>()(s.c_str()); } };
+#else
+#error "no hash_map could be found"
+#endif
#if 0
struct StringEq : public std::binary_function< std::string, std::string, bool >