+////////////////////////////////////////////////////////////////////////////////\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 T1, typename T2, typename T3, typename T4, typename S1, typename S2, typename S3, typename S4>\r
+ std::string foursome_to_string(const foursome<T1,T2,T3,T4>& values,\r
+ S1 to_string_fn1,\r
+ S2 to_string_fn2,\r
+ S3 to_string_fn3,\r
+ S4 to_string_fn4,\r
+ const std::string& separator)\r
+ {\r
+ return \r
+ to_string_fn1(values.first) + \r
+ separator + \r
+ to_string_fn2(values.second) + \r
+ separator + \r
+ to_string_fn3(values.third) +\r
+ separator + \r
+ to_string_fn4(values.fourth);\r
+ }\r
+\r
+\r
+} // end namespace stlplus\r
+\r