+#ifndef STLPLUS_PRINT_HASH\r
+#define STLPLUS_PRINT_HASH\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Author: Andy Rushton\r
+// Copyright: (c) Southampton University 1999-2004\r
+// (c) Andy Rushton 2004-2009\r
+// License: BSD License, see ../docs/license.html\r
+\r
+// Generate a string representation of a hash\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+#include "strings_fixes.hpp"\r
+#include "hash.hpp"\r
+#include <string>\r
+#include <iostream>\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+ template<typename K, typename T, typename H, typename E, typename KS, typename TS>\r
+ void print_hash(std::ostream& device,\r
+ const hash<K,T,H,E>& values,\r
+ KS key_print_fn,\r
+ TS value_print_fn,\r
+ const std::string& pair_separator = ":",\r
+ const std::string& separator = ",");\r
+\r
+} // end namespace stlplus\r
+\r
+#include "print_hash.tpp"\r
+#endif\r