]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/persistence/persistent_digraph.tpp
cleanup stlplus files
[chaz/yoink] / src / stlplus / persistence / persistent_digraph.tpp
diff --git a/src/stlplus/persistence/persistent_digraph.tpp b/src/stlplus/persistence/persistent_digraph.tpp
deleted file mode 100644 (file)
index 3ff94a5..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////\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
-#include "persistent_int.hpp"\r
-#include "persistent_xref.hpp"\r
-\r
-namespace stlplus\r
-{\r
-  ////////////////////////////////////////////////////////////////////////////////\r
-\r
-  template<typename NT, typename AT, typename DN, typename DA>\r
-  void dump_digraph(dump_context& context, const digraph<NT,AT>& data,\r
-                    DN dump_node, DA dump_arc)\r
-    throw(persistent_dump_failed)\r
-  {\r
-    // dump a magic key to the address of the graph for use in persistence of iterators\r
-    // and register it as a dumped address\r
-    std::pair<bool,unsigned> mapping = context.pointer_map(&data);\r
-    if (mapping.first) throw persistent_dump_failed("digraph: already dumped this graph");\r
-    dump_unsigned(context,mapping.second);\r
-    // dump the nodes\r
-    dump_unsigned(context,data.size());\r
-    for (typename digraph<NT,AT>::const_iterator node = data.begin(); node != data.end(); node++)\r
-    {\r
-      // nodes are keyed by the magic key to the node address\r
-      // this key is then used in dumping the arc from/to pointers\r
-      std::pair<bool,unsigned> node_mapping = context.pointer_map(node.node());\r
-      if (node_mapping.first) throw persistent_dump_failed("digraph: already dumped this node");\r
-      dump_unsigned(context,node_mapping.second);\r
-      // finally, dump the node contents\r
-      dump_node(context,*node);\r
-    }\r
-    // dump the arcs\r
-    dump_unsigned(context,data.arc_size());\r
-    for (typename digraph<NT,AT>::const_arc_iterator arc = data.arc_begin(); arc != data.arc_end(); arc++)\r
-    {\r
-      // dump the magic key to the arc address\r
-      // this is used by iterator persistence too\r
-      std::pair<bool,unsigned> arc_mapping = context.pointer_map(arc.node());\r
-      if (arc_mapping.first) throw persistent_dump_failed("digraph: already dumped this arc");\r
-      dump_unsigned(context,arc_mapping.second);\r
-      // now dump the from/to pointers as cross-references\r
-      dump_xref(context,data.arc_from(arc).node());\r
-      dump_xref(context,data.arc_to(arc).node());\r
-      // now dump the arc's data\r
-      dump_arc(context,*arc);\r
-    }\r
-  }\r
-\r
-  ////////////////////////////////////////////////////////////////////////////////\r
-\r
-  template<typename NT, typename AT, typename RN, typename RA>\r
-  void restore_digraph(restore_context& context, digraph<NT,AT>& data,\r
-                       RN restore_node, RA restore_arc)\r
-    throw(persistent_restore_failed)\r
-  {\r
-    data.clear();\r
-    // restore the graph's magic key and map it onto the graph's address\r
-    // this is used in the persistence of iterators\r
-    unsigned magic = 0;\r
-    restore_unsigned(context,magic);\r
-    context.pointer_add(magic,&data);\r
-    // restore the nodes\r
-    unsigned nodes = 0;\r
-    restore_unsigned(context, nodes);\r
-    for (unsigned n = 0; n < nodes; n++)\r
-    {\r
-      unsigned node_magic = 0;\r
-      restore_unsigned(context,node_magic);\r
-      // create a new node and map the magic key onto the new address\r
-      typename digraph<NT,AT>::iterator node = data.insert(NT());\r
-      context.pointer_add(node_magic,node.node());\r
-      // now restore the user's data\r
-      restore_node(context,*node);\r
-    }\r
-    // restore the arcs\r
-    unsigned arcs = 0;\r
-    restore_unsigned(context, arcs);\r
-    for (unsigned a = 0; a < arcs; a++)\r
-    {\r
-      unsigned arc_magic = 0;\r
-      restore_unsigned(context,arc_magic);\r
-      // restore the from and to cross-references\r
-      digraph_node<NT,AT>* from = 0;\r
-      digraph_node<NT,AT>* to = 0;\r
-      restore_xref(context,from);\r
-      restore_xref(context,to);\r
-      // create an arc with these from/to pointers\r
-      digraph_arc_iterator<NT,AT,AT&,AT*> arc = \r
-        data.arc_insert(digraph_iterator<NT,AT,NT&,NT*>(from), \r
-                        digraph_iterator<NT,AT,NT&,NT*>(to));\r
-      context.pointer_add(arc_magic,arc.node());\r
-      // restore the user data\r
-      restore_arc(context,*arc);\r
-    }\r
-  }\r
-\r
-  ////////////////////////////////////////////////////////////////////////////////\r
-\r
-  template<typename NT, typename AT, typename NRef, typename NPtr>\r
-  void dump_digraph_iterator(dump_context& context, \r
-                             const digraph_iterator<NT,AT,NRef,NPtr>& data)\r
-    throw(persistent_dump_failed)\r
-  {\r
-    dump_xref(context,data.owner());\r
-    dump_xref(context,data.node());\r
-  }\r
-\r
-  template<typename NT, typename AT, typename NRef, typename NPtr>\r
-  void restore_digraph_iterator(restore_context& context, \r
-                                digraph_iterator<NT,AT,NRef,NPtr>& data)\r
-    throw(persistent_restore_failed)\r
-  {\r
-    digraph<NT,AT>* owner = 0;\r
-    digraph_node<NT,AT>* node = 0;\r
-    restore_xref(context,owner);\r
-    restore_xref(context,node);\r
-    data = digraph_iterator<NT,AT,NRef,NPtr>(node);\r
-    data.assert_owner(owner);\r
-  }\r
-\r
-  ////////////////////////////////////////////////////////////////////////////////\r
-\r
-  template<typename NT, typename AT, typename NRef, typename NPtr>\r
-  void dump_digraph_arc_iterator(dump_context& context,\r
-                                 const digraph_arc_iterator<NT,AT,NRef,NPtr>& data)\r
-    throw(persistent_dump_failed)\r
-  {\r
-    dump_xref(context,data.owner());\r
-    dump_xref(context,data.node());\r
-  }\r
-\r
-  template<typename NT, typename AT, typename NRef, typename NPtr>\r
-  void restore_digraph_arc_iterator(restore_context& context, \r
-                                    digraph_arc_iterator<NT,AT,NRef,NPtr>& data)\r
-    throw(persistent_restore_failed)\r
-  {\r
-    digraph<NT,AT>* owner = 0;\r
-    digraph_arc<NT,AT>* arc = 0;\r
-    restore_xref(context,owner);\r
-    restore_xref(context,arc);\r
-    data = digraph_arc_iterator<NT,AT,NRef,NPtr>(arc);\r
-    data.assert_owner(owner);\r
-  }\r
-\r
-  ////////////////////////////////////////////////////////////////////////////////\r
-\r
-} // end namespace stlplus\r
This page took 0.025459 seconds and 4 git commands to generate.