summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/multi_array/example/print_array.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/multi_array/example/print_array.cpp')
-rw-r--r--src/boost/libs/multi_array/example/print_array.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/boost/libs/multi_array/example/print_array.cpp b/src/boost/libs/multi_array/example/print_array.cpp
new file mode 100644
index 000000000..5ce3c8a2f
--- /dev/null
+++ b/src/boost/libs/multi_array/example/print_array.cpp
@@ -0,0 +1,50 @@
+// Copyright 2002 The Trustees of Indiana University.
+
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// Boost.MultiArray Library
+// Authors: Ronald Garcia
+// Jeremy Siek
+// Andrew Lumsdaine
+// See http://www.boost.org/libs/multi_array for documentation.
+
+
+#include <iostream>
+#include "boost/multi_array.hpp"
+#include "boost/array.hpp"
+#include "boost/cstdlib.hpp"
+
+template <typename Array>
+void print(std::ostream& os, const Array& A)
+{
+ typename Array::const_iterator i;
+ os << "[";
+ for (i = A.begin(); i != A.end(); ++i) {
+ print(os, *i);
+ if (boost::next(i) != A.end())
+ os << ',';
+ }
+ os << "]";
+}
+void print(std::ostream& os, const double& x)
+{
+ os << x;
+}
+int main()
+{
+ typedef boost::multi_array<double, 2> array;
+ double values[] = {
+ 0, 1, 2,
+ 3, 4, 5
+ };
+ const int values_size=6;
+ array A(boost::extents[2][3]);
+ A.assign(values,values+values_size);
+ print(std::cout, A);
+ return boost::exit_success;
+}
+
+// The output is:
+// [[0,1,2],[3,4,5]]