]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/strings/print_simple_ptr.tpp
testing new non-autotools build system
[chaz/yoink] / src / stlplus / strings / print_simple_ptr.tpp
diff --git a/src/stlplus/strings/print_simple_ptr.tpp b/src/stlplus/strings/print_simple_ptr.tpp
new file mode 100644 (file)
index 0000000..30af07e
--- /dev/null
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////\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
+  void print_simple_ptr(std::ostream& device,\r
+                       const simple_ptr<T>& value,\r
+                       S print_fn,\r
+                       const std::string& null_string,\r
+                       const std::string& prefix,\r
+                       const std::string& suffix)\r
+  {\r
+    if (value)\r
+    {\r
+      device << prefix;\r
+      print_fn(device, *value);\r
+      device << suffix;\r
+    }\r
+    else\r
+    {\r
+      device << null_string;\r
+    }\r
+  }\r
+\r
+  template<typename T, typename S>\r
+  void print_simple_ptr_clone(std::ostream& device,\r
+                             const simple_ptr_clone<T>& value,\r
+                             S print_fn,\r
+                             const std::string& null_string,\r
+                             const std::string& prefix,\r
+                             const std::string& suffix)\r
+  {\r
+    if (value)\r
+    {\r
+      device << prefix;\r
+      print_fn(device, *value);\r
+      device << suffix;\r
+    }\r
+    else\r
+    {\r
+      device << null_string;\r
+    }\r
+  }\r
+\r
+  template<typename T, typename S>\r
+  void print_simple_ptr_nocopy(std::ostream& device,\r
+                              const simple_ptr_nocopy<T>& value,\r
+                              S print_fn,\r
+                              const std::string& null_string,\r
+                              const std::string& prefix,\r
+                              const std::string& suffix)\r
+  {\r
+    if (value)\r
+    {\r
+      device << prefix;\r
+      print_fn(device, *value);\r
+      device << suffix;\r
+    }\r
+    else\r
+    {\r
+      device << null_string;\r
+    }\r
+  }\r
+\r
+} // end namespace stlplus\r
+\r
This page took 0.027775 seconds and 4 git commands to generate.