diff options
Diffstat (limited to 'CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp')
-rw-r--r-- | CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp b/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp deleted file mode 100644 index 37a952a3f34..00000000000 --- a/CIAO/CCF/CCF/IDL2/SemanticGraph/Graph.tpp +++ /dev/null @@ -1,188 +0,0 @@ -// file : CCF/IDL2/SemanticGraph/Graph.tpp -// author : Boris Kolpackov <boris@dre.vanderbilt.edu> -// cvs-id : $Id$ - -namespace CCF -{ - namespace IDL2 - { - namespace SemanticGraph - { - // Graph - // - // - - - template <typename N, typename E> - template <typename T> - T& Graph<N, E>:: - new_node () - { - T* n (new T); //@@ auto - nodes_.insert (n); - return *n; - } - - - template <typename N, typename E> - template <typename T, typename A0> - T& Graph<N, E>:: - new_node (A0 const& a0) - { - T* n (new T (a0)); //@@ auto - nodes_.insert (n); - return *n; - } - - - template <typename N, typename E> - template <typename T, typename A0, typename A1> - T& Graph<N, E>:: - new_node (A0 const& a0, A1 const& a1) - { - T* n (new T (a0, a1)); //@@ auto - nodes_.insert (n); - return *n; - } - - template <typename N, typename E> - template <typename T, typename A0, typename A1, typename A2> - T& Graph<N, E>:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2) - { - T* n (new T (a0, a1, a2)); //@@ auto - nodes_.insert (n); - return *n; - } - - template <typename N, typename E> - template <typename T, - typename A0, - typename A1, - typename A2, - typename A3> - T& Graph<N, E>:: - new_node (A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3) - { - T* n (new T (a0, a1, a2, a3)); //@@ auto - nodes_.insert (n); - return *n; - } - - - template <typename N, typename E> - void Graph<N, E>:: - delete_node (N const& nr) - { - N* n (&nr); - - for (E* e (n->remove_edge_ ()); e != 0; e = n->remove_edge_ ()) - { - // One endpoint of the edge has removed this edge from - // its edge set. Now handle the other endpoint. - // - if (e->left_ () == n) e->right_ ()->remove_edge_ (e); - else e->left_ ()->remove_edge_ (e); - - // Delete the edge. - // - edges_.erase (e); - - delete e; //@@ auto - } - - nodes_.erase (n); - - delete n; //@@ auto - } - - - template <typename N, typename E> - template <typename T, typename X, typename Y> - T& Graph<N, E>:: - new_edge (X& left, Y& right) - { - T* e (new T); //@@ auto - - e->set_left_node (left); - e->set_right_node (right); - - left.add_edge_left (*e); - right.add_edge_right (*e); - - edges_.insert (e); - - return *e; - } - - template <typename N, typename E> - template <typename T, typename X, typename Y, - typename A0> - T& Graph<N, E>:: - new_edge (X& left, Y& right, A0 const& a0) - { - T* e (new T (a0)); //@@ auto - - e->set_left_node (left); - e->set_right_node (right); - - left.add_edge_left (*e); - right.add_edge_right (*e); - - edges_.insert (e); - - return *e; - } - - template <typename N, typename E> - template <typename T, typename X, typename Y, - typename A0, - typename A1> - T& Graph<N, E>:: - new_edge (X& left, Y& right, A0 const& a0, A1 const& a1) - { - T* e (new T (a0, a1)); //@@ auto - - e->set_left_node (left); - e->set_right_node (right); - - left.add_edge_left (*e); - right.add_edge_right (*e); - - edges_.insert (e); - - return *e; - } - - template <typename N, typename E> - void Graph<N, E>:: - delete_edge (E const& er) - { - E* e (&er); - - e->left_ ()->remove_edge_ (e); - e->right_ ()->remove_edge_ (e); - - edges_.erase (e); - - delete e; //@@ auto - } - - - template <typename N, typename E> - Graph<N, E>:: - ~Graph () - { - //@@ auto - - for (typename Edges_::iterator i (edges_.begin ()), end (edges_.end ()); - i != end; - ++i) delete *i; - - for (typename Nodes_::iterator i (nodes_.begin ()), end (nodes_.end ()); - i != end; - ++i) delete *i; - } - } - } -} |