]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/Generic.h
Summary: Implement mem_hdr debugging.
[thirdparty/squid.git] / src / Generic.h
index 7eaa0f2ffac917feed0caea1c47d02255031d6dc..9dbb017ccbea1c5896d89d9375fa2395cb350bb3 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Generic.h,v 1.5 2003/07/14 10:36:41 robertc Exp $
+ * $Id: Generic.h,v 1.6 2003/09/22 08:50:51 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -73,4 +73,32 @@ T& for_each(Stack<E> const &collection, T& visitor)
     return visitor;
 };
 
+template <class InputIterator , class Visitor>
+Visitor& for_each(InputIterator from, InputIterator to, Visitor& visitor)
+{
+    while (!(from == to)) {
+        typename InputIterator::value_type &value = *from;
+        ++from;
+        visitor(value);
+    }
+
+    return visitor;
+}
+
+/* generic ostream printer */
+template <class Pointer>
+
+struct PointerPrinter
+{
+    PointerPrinter(std::ostream &astream, std::string aDelimiter) : os(astream), delimiter (aDelimiter) {}
+
+    void operator () (Pointer aNode)
+    {
+        os << *aNode << delimiter;
+    }
+
+    std::ostream &os;
+    std::string delimiter;
+};
+
 #endif /* SQUID_GENERIC_H */