]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/strings/string_ntree.tpp
testing new non-autotools build system
[chaz/yoink] / src / stlplus / strings / string_ntree.tpp
diff --git a/src/stlplus/strings/string_ntree.tpp b/src/stlplus/strings/string_ntree.tpp
new file mode 100644 (file)
index 0000000..040dad3
--- /dev/null
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////\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
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+  template<typename T, typename S>\r
+  std::string ntree_to_string(const ntree<T>& values,\r
+                              S to_string_fn,\r
+                              const std::string& separator,\r
+                              const std::string& indent_string)\r
+  {\r
+    std::string result;\r
+    for (TYPENAME ntree<T>::const_prefix_iterator i = values.prefix_begin(); i != values.prefix_end(); i++)\r
+    {\r
+      if (i != values.prefix_begin()) result += separator;\r
+      for (unsigned indent = values.depth(i.simplify()); --indent; )\r
+        result += indent_string;\r
+      result += to_string_fn(*i);\r
+    }\r
+    return result;\r
+  }\r
+\r
+} // end namespace stlplus\r
+\r
This page took 0.021042 seconds and 4 git commands to generate.