Index: boost/graph/leda_graph.hpp =================================================================== --- boost/graph/leda_graph.hpp (Revision 76325) +++ boost/graph/leda_graph.hpp (Arbeitskopie) @@ -2,6 +2,7 @@ // Copyright 1997, 1998, 1999, 2000 University of Notre Dame. // Copyright 2004 The Trustees of Indiana University. // Copyright 2007 University of Karlsruhe +// Copyright 2011, 2012 Jens Mueller // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Douglas Gregor, // Jens Mueller // @@ -47,13 +48,12 @@ : public iterator_facade + leda::node> { public: - adjacency_iterator(leda::node node = 0, + adjacency_iterator(leda::edge edge = 0, const leda::GRAPH* g = 0) - : base(node), g(g) {} + : base(edge), g(g) {} private: leda::node dereference() const { return leda::target(base); } @@ -73,13 +73,12 @@ : public iterator_facade + const leda::edge&> { public: - out_edge_iterator(leda::node node = 0, + out_edge_iterator(leda::edge edge = 0, const leda::GRAPH* g = 0) - : base(node), g(g) {} + : base(edge), g(g) {} private: const leda::edge& dereference() const { return base; } @@ -100,13 +99,12 @@ : public iterator_facade + const leda::edge&> { public: - in_edge_iterator(leda::node node = 0, + in_edge_iterator(leda::edge edge = 0, const leda::GRAPH* g = 0) - : base(node), g(g) {} + : base(edge), g(g) {} private: const leda::edge& dereference() const { return base; } @@ -127,8 +125,7 @@ : public iterator_facade + const leda::node&> { public: vertex_iterator(leda::node node = 0, @@ -154,8 +151,7 @@ : public iterator_facade + const leda::edge&> { public: edge_iterator(leda::edge edge = 0, @@ -183,6 +179,9 @@ typedef int vertices_size_type; typedef int edges_size_type; typedef int degree_size_type; + + typedef vtype vertex_property_type; + typedef etype edge_property_type; }; @@ -196,8 +195,7 @@ : public iterator_facade + leda::node> { public: adjacency_iterator(leda::edge edge = 0, @@ -223,8 +221,7 @@ : public iterator_facade + const leda::edge&> { public: out_edge_iterator(leda::edge edge = 0, @@ -250,8 +247,7 @@ : public iterator_facade + const leda::edge&> { public: in_edge_iterator(leda::edge edge = 0, @@ -277,8 +273,7 @@ : public iterator_facade + const leda::node&> { public: vertex_iterator(leda::node node = 0, @@ -304,8 +299,7 @@ : public iterator_facade + const leda::edge&> { public: edge_iterator(leda::edge edge = 0, @@ -391,7 +385,7 @@ { typedef typename graph_traits< leda::GRAPH > ::out_edge_iterator Iter; - return std::make_pair( Iter(g.first_adj_edge(u,0),&g), Iter(0,&g) ); + return std::make_pair( Iter(g.first_adj_edge(u),&g), Iter(0,&g) ); } template @@ -404,7 +398,7 @@ { typedef typename graph_traits< leda::GRAPH > ::in_edge_iterator Iter; - return std::make_pair( Iter(g.first_adj_edge(u,1),&g), Iter(0,&g) ); + return std::make_pair( Iter(g.first_in_edge(u),&g), Iter(0,&g) ); } template @@ -417,7 +411,7 @@ { typedef typename graph_traits< leda::GRAPH > ::adjacency_iterator Iter; - return std::make_pair( Iter(g.first_adj_edge(u,0),&g), Iter(0,&g) ); + return std::make_pair( Iter(g.first_adj_edge(u),&g), Iter(0,&g) ); } template @@ -482,11 +476,11 @@ { typename graph_traits< leda::GRAPH >::out_edge_iterator ei, ei_end; for (boost::tie(ei, ei_end)=out_edges(u,g); ei!=ei_end; ei++) - remove_edge(*ei); - + g.del_edge(*ei); + typename graph_traits< leda::GRAPH >::in_edge_iterator iei, iei_end; for (boost::tie(iei, iei_end)=in_edges(u,g); iei!=iei_end; iei++) - remove_edge(*iei); + g.del_edge(*iei); } template