From 8286ac511144e4f17d34eac9affb97e50646344a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 23 Jul 2014 15:25:44 +0200 Subject: Imported Upstream version 4.0.0 --- libcult/cult/containers/graph.txx | 313 -------------------------------------- 1 file changed, 313 deletions(-) delete mode 100644 libcult/cult/containers/graph.txx (limited to 'libcult/cult/containers/graph.txx') diff --git a/libcult/cult/containers/graph.txx b/libcult/cult/containers/graph.txx deleted file mode 100644 index a9c9979..0000000 --- a/libcult/cult/containers/graph.txx +++ /dev/null @@ -1,313 +0,0 @@ -// file : cult/containers/graph.txx -// author : Boris Kolpackov -// copyright : Copyright (c) 2005-2010 Boris Kolpackov -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace Cult -{ - namespace Containers - { - - // Nodes. - // - - template - template - T& Graph:: - new_node () - { - Shptr node (new T); - nodes_[node.get ()] = node; - - return *node; - } - - - template - template - T& Graph:: - new_node (A0 const& a0) - { - Shptr node (new T (a0)); - nodes_[node.get ()] = node; - - return *node; - } - - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1) - { - Shptr node (new T (a0, a1)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2) - { - Shptr node (new T (a0, a1, a2)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3) - { - Shptr node (new T (a0, a1, a2, a3)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4) - { - Shptr node (new T (a0, a1, a2, a3, a4)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4, A5 const& a5) - { - Shptr node (new T (a0, a1, a2, a3, a4, a5)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4, A5 const& a5, A6 const& a6) - { - Shptr node (new T (a0, a1, a2, a3, a4, a5, a6)); - nodes_[node.get ()] = node; - - return *node; - } - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7) - { - Shptr node (new T (a0, a1, a2, a3, a4, a5, a6, a7)); - nodes_[node.get ()] = node; - - return *node; - } - - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, - A8 const& a8) - { - Shptr node (new T (a0, a1, a2, a3, a4, a5, a6, a7, a8)); - nodes_[node.get ()] = node; - - return *node; - } - - - template - template - T& Graph:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, - A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, - A8 const& a8, A9 const& a9) - { - Shptr node (new T (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); - nodes_[node.get ()] = node; - - return *node; - } - - - // Edges. - // - - template - template - T& Graph:: - new_edge (Left& l, Right& r) - { - Shptr edge (new T); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0) - { - Shptr edge (new T (a0)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0, A1 const& a1) - { - Shptr edge (new T (a0, a1)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0, A1 const& a1, A2 const& a2) - { - Shptr edge (new T (a0, a1, a2)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0, A1 const& a1, A2 const& a2, - A3 const& a3) - { - Shptr edge (new T (a0, a1, a2, a3)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0, A1 const& a1, A2 const& a2, - A3 const& a3, A4 const& a4) - { - Shptr edge (new T (a0, a1, a2, a3, a4)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - template - template - T& Graph:: - new_edge (Left& l, Right& r, A0 const& a0, A1 const& a1, A2 const& a2, - A3 const& a3, A4 const& a4, A5 const& a5) - { - Shptr edge (new T (a0, a1, a2, a3, a4, a5)); - edges_[edge.get ()] = edge; - - edge->set_left_node (l); - edge->set_right_node (r); - - l.add_edge_left (*edge); - r.add_edge_right (*edge); - - return *edge; - } - - - template - template - Void Graph:: - delete_edge (Left& l, Right& r, T& edge) - { - typename Edges::Iterator i (edges_.find (&edge)); - - if (i == edges_.end () || - nodes_.find (&l) == nodes_.end () || - nodes_.find (&r) == nodes_.end ()) - throw NoEdge (); - - r.remove_edge_right (edge); - l.remove_edge_left (edge); - - edge.clear_right_node (r); - edge.clear_left_node (l); - - edges_.erase (i); - } - } -} -- cgit v1.2.3