--- /dev/null
+//-----------------------------------------------------------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 2010, 2011, 2012 by the deal.II authors
+//
+// This file is subject to QPL and may not be distributed
+// without copyright and license information. Please refer
+// to the file deal.II/doc/license.html for the text and
+// further information on this license.
+//
+//-----------------------------------------------------------------------------
+
+// make sure a TableHandler can be copied
+
+
+#include "../tests.h"
+#include <deal.II/base/data_out_base.h>
+#include <deal.II/base/table_handler.h>
+#include <deal.II/base/logstream.h>
+
+#include <vector>
+#include <iomanip>
+#include <fstream>
+#include <string>
+
+
+int main ()
+{
+ std::ofstream logfile("table_handler_07/output");
+ deallog.attach(logfile);
+ deallog.depth_console(0);
+ deallog.threshold_double(1.e-10);
+
+/* Like in _06 */
+ TableHandler table;
+ table.set_auto_fill_mode (true);
+
+ std::string keys[3] = { "key1", "key2", "key3" };
+
+ // fill rows 1 and 2 partially
+ table.add_value(keys[0], 0);
+ table.add_value(keys[0], 1);
+ // now fill row 3 completely
+ table.add_value(keys[0], 2);
+ table.add_value(keys[1], 13);
+ table.add_value(keys[2], std::string("a"));
+
+ // now again fill row 4 partially
+ table.add_value(keys[0], 1);
+
+/* Now copy and write the file from the copy */
+ TableHandler table2;
+ table2 = table;
+
+ // produce output. hope that row 4 is
+ // completely padded
+ table2.write_text(deallog.get_file_stream(),
+ TableHandler::table_with_separate_column_description);
+}