From d5d69d0c829862e64fcb6a0e63a5f02b0f1ee653 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Fri, 2 Nov 2001 22:51:24 +0000 Subject: [PATCH] *** empty log message *** [SVN r11539] --- build/Jamfile | 3 +- example/Jamfile | 230 ++++++++++---------- example/accum-compile-times.cpp | 23 +- include/boost/graph/graphviz.hpp | 1 - include/boost/graph/property_iter_range.hpp | 27 +-- include/boost/pending/detail/property.hpp | 16 +- src/graphviz_digraph_lex.cpp | 4 + src/graphviz_graph_lex.cpp | 4 + 8 files changed, 155 insertions(+), 153 deletions(-) diff --git a/build/Jamfile b/build/Jamfile index 74f12e7d..dfba0a00 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -3,7 +3,8 @@ subproject libs/graph/build ; SOURCES = graphviz_graph_lex graphviz_digraph_lex graphviz_graph_parser graphviz_digraph_parser ; + lib libbgl-viz : ../src/$(SOURCES).cpp : $(BOOST_ROOT) - : debug + : debug on #inlining prevents linker name clashes due to truncation! ; diff --git a/example/Jamfile b/example/Jamfile index aa9a6ccd..ba7ce705 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -4,131 +4,131 @@ subproject libs/graph/example ; # LEDA (also top level directory) at the command line of jam using -s -DEPENDS all : accum-compile-times adjacency_list adjacency_list_io adjacency_matrix bellman-example bellman-ford-internet bfs bfs-example bfs-name-printer bfs_neighbor biconnected_components boost_web_graph bucket_sorter cc-internet city_visitor components_on_edgelist connected_components connected-components container_gen copy-example cuthill_mckee_ordering cycle-file-dep2 cycle-file-dep dag_shortest_paths dave default-constructor2 default-constructor dfs dfs-example dfs_parenthesis dfs-parenthesis dijkstra-example edge_basics edge_connectivity edge-connectivity edge-function edge_iterator_constructor edge-iter-constructor edge_property edmunds-karp-eg edmunds_karp_max_flow exterior_properties exterior_property_map family-tree-eg fibonacci_heap file_dependencies filtered_graph gerdemann graph-assoc-types graph graph-property-iter-eg graphviz incremental_components incremental-components-eg in_edges interior_property_map isomorphism iterator-property-map-eg johnson johnson-eg kevin-bacon knights-tour kruskal-example kruskal-telephone last-mod-time loops_dfs max_flow minimum_degree_ordering min_max_paths modify_graph neighbor_bfs ordered_out_edges ospf-example parallel-compile-time prim-example prim-telephone print-adjacent-vertices print-edges print-in-edges print-out-edges property_iterator property-map-traits-eg push-relabel-eg put-get-helper-eg quick_tour quick-tour reachable-loop-head reachable-loop-tail remove_edge_if_bidir remove_edge_if_dir remove_edge_if_undir reverse_graph reverse-graph-eg scc strong_components strong-components subgraph topo-sort1 topo-sort2 topo_sort topo-sort-file-dep2 topo-sort-file-dep transitive_closure transpose-example undirected vector-as-graph vertex_basics vertex-name-property visitor ; +DEPENDS all : accum-compile-times adjacency_list adjacency_list_io adjacency_matrix bellman-example bellman-ford-internet bfs bfs-example bfs-name-printer bfs_neighbor biconnected_components boost_web_graph bucket_sorter cc-internet city_visitor components_on_edgelist connected_components connected-components container_gen copy-example cuthill_mckee_ordering cycle-file-dep2 cycle-file-dep dag_shortest_paths dave default-constructor2 default-constructor dfs dfs-example dfs-parenthesis dijkstra-example edge_basics edge_connectivity edge-connectivity edge-function edge_iterator_constructor edge-iter-constructor edge_property edmunds-karp-eg edmunds_karp_max_flow exterior_properties exterior_property_map family-tree-eg fibonacci_heap file_dependencies filtered_graph gerdemann graph-assoc-types graph graph-property-iter-eg graphviz incremental_components incremental-components-eg in_edges interior_property_map isomorphism iterator-property-map-eg johnson-eg kevin-bacon knights-tour kruskal-example kruskal-telephone last-mod-time loops_dfs max_flow minimum_degree_ordering min_max_paths modify_graph neighbor_bfs ordered_out_edges ospf-example parallel-compile-time prim-example prim-telephone print-adjacent-vertices print-edges print-in-edges print-out-edges property_iterator property-map-traits-eg push-relabel-eg put-get-helper-eg quick_tour quick-tour reachable-loop-head reachable-loop-tail remove_edge_if_bidir remove_edge_if_dir remove_edge_if_undir reverse_graph reverse-graph-eg scc strong_components strong-components subgraph topo-sort1 topo-sort2 topo_sort topo-sort-file-dep2 topo-sort-file-dep transitive_closure transpose-example undirected vector-as-graph vertex_basics vertex-name-property visitor ; DEPENDS sgb_examples : topo-sort-with-sgb girth miles_span roget_components ; DEPENDS leda_examples : leda-concept-check leda-graph-eg topo-sort-with-leda ; -exe accum-compile-times : accum-compile-times.cpp : $(BOOST_ROOT) ; -exe adjacency_list : adjacency_list.cpp : $(BOOST_ROOT) ; -exe adjacency_list_io : adjacency_list_io.cpp : $(BOOST_ROOT) ; -exe adjacency_matrix : adjacency_matrix.cpp : $(BOOST_ROOT) ; -exe bellman-example : bellman-example.cpp : $(BOOST_ROOT) ; -exe bellman-ford-internet : bellman-ford-internet.cpp : $(BOOST_ROOT) ; -exe bfs : bfs.cpp : $(BOOST_ROOT) ; -exe bfs-example : bfs-example.cpp : $(BOOST_ROOT) ; -exe bfs-name-printer : bfs-name-printer.cpp : $(BOOST_ROOT) ; -exe bfs_neighbor : bfs_neighbor.cpp : $(BOOST_ROOT) ; -exe biconnected_components : biconnected_components.cpp : $(BOOST_ROOT) ; -exe boost_web_graph : boost_web_graph.cpp : $(BOOST_ROOT) ; -exe bucket_sorter : bucket_sorter.cpp : $(BOOST_ROOT) ; -exe cc-internet : cc-internet.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe city_visitor : city_visitor.cpp : $(BOOST_ROOT) ; -exe components_on_edgelist : components_on_edgelist.cpp : $(BOOST_ROOT) ; -exe connected_components : connected_components.cpp : $(BOOST_ROOT) ; -exe connected-components : connected-components.cpp : $(BOOST_ROOT) ; -exe container_gen : container_gen.cpp : $(BOOST_ROOT) ; -exe copy-example : copy-example.cpp : $(BOOST_ROOT) ; -exe cuthill_mckee_ordering : cuthill_mckee_ordering.cpp : $(BOOST_ROOT) ; -exe cycle-file-dep2 : cycle-file-dep2.cpp : $(BOOST_ROOT) ; -exe cycle-file-dep : cycle-file-dep.cpp : $(BOOST_ROOT) ; -exe dag_shortest_paths : dag_shortest_paths.cpp : $(BOOST_ROOT) ; -exe dave : dave.cpp : $(BOOST_ROOT) ; -exe default-constructor2 : default-constructor2.cpp : $(BOOST_ROOT) ; -exe default-constructor : default-constructor.cpp : $(BOOST_ROOT) ; -exe dfs : dfs.cpp : $(BOOST_ROOT) ; -exe dfs-example : dfs-example.cpp : $(BOOST_ROOT) ; -exe dfs-parenthesis : dfs-parenthesis.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe dijkstra-example : dijkstra-example.cpp : $(BOOST_ROOT) ; -exe edge_basics : edge_basics.cpp : $(BOOST_ROOT) ; -exe edge_connectivity : edge_connectivity.cpp : $(BOOST_ROOT) ; -exe edge-connectivity : edge-connectivity.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe edge-function : edge-function.cpp : $(BOOST_ROOT) ; -exe edge_iterator_constructor : edge_iterator_constructor.cpp : $(BOOST_ROOT) ; -exe edge-iter-constructor : edge-iter-constructor.cpp : $(BOOST_ROOT) ; -exe edge_property : edge_property.cpp : $(BOOST_ROOT) ; -exe edmunds-karp-eg : edmunds-karp-eg.cpp : $(BOOST_ROOT) ; -exe edmunds_karp_max_flow : edmunds_karp_max_flow.cpp : $(BOOST_ROOT) ; -exe exterior_properties : exterior_properties.cpp : $(BOOST_ROOT) ; -exe exterior_property_map : exterior_property_map.cpp : $(BOOST_ROOT) ; -exe family-tree-eg : family-tree-eg.cpp : $(BOOST_ROOT) ; -exe fibonacci_heap : fibonacci_heap.cpp : $(BOOST_ROOT) ; -exe file_dependencies : file_dependencies.cpp : $(BOOST_ROOT) ; -exe filtered_graph : filtered_graph.cpp : $(BOOST_ROOT) ; -exe gerdemann : gerdemann.cpp : $(BOOST_ROOT) ; +exe accum-compile-times : accum-compile-times.cpp : $(BOOST_ROOT) : debug on ; +exe adjacency_list : adjacency_list.cpp : $(BOOST_ROOT) : debug on ; +exe adjacency_list_io : adjacency_list_io.cpp : $(BOOST_ROOT) : debug on ; +exe adjacency_matrix : adjacency_matrix.cpp : $(BOOST_ROOT) : debug on ; +exe bellman-example : bellman-example.cpp : $(BOOST_ROOT) : debug on ; +exe bellman-ford-internet : bellman-ford-internet.cpp : $(BOOST_ROOT) : debug on ; +exe bfs : bfs.cpp : $(BOOST_ROOT) : debug on ; +exe bfs-example : bfs-example.cpp : $(BOOST_ROOT) : debug on ; +exe bfs-name-printer : bfs-name-printer.cpp : $(BOOST_ROOT) : debug on ; +exe bfs_neighbor : bfs_neighbor.cpp : $(BOOST_ROOT) : debug on ; +exe biconnected_components : biconnected_components.cpp : $(BOOST_ROOT) : debug on ; +exe boost_web_graph : boost_web_graph.cpp : $(BOOST_ROOT) : debug on ; +exe bucket_sorter : bucket_sorter.cpp : $(BOOST_ROOT) : debug on ; +exe cc-internet : cc-internet.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe city_visitor : city_visitor.cpp : $(BOOST_ROOT) : debug on ; +exe components_on_edgelist : components_on_edgelist.cpp : $(BOOST_ROOT) : debug on ; +exe connected_components : connected_components.cpp : $(BOOST_ROOT) : debug on ; +exe connected-components : connected-components.cpp : $(BOOST_ROOT) : debug on ; +exe container_gen : container_gen.cpp : $(BOOST_ROOT) : debug on ; +exe copy-example : copy-example.cpp : $(BOOST_ROOT) : debug on ; +exe cuthill_mckee_ordering : cuthill_mckee_ordering.cpp : $(BOOST_ROOT) : debug on ; +exe cycle-file-dep2 : cycle-file-dep2.cpp : $(BOOST_ROOT) : debug on ; +exe cycle-file-dep : cycle-file-dep.cpp : $(BOOST_ROOT) : debug on ; +exe dag_shortest_paths : dag_shortest_paths.cpp : $(BOOST_ROOT) : debug on ; +exe dave : dave.cpp : $(BOOST_ROOT) : debug on ; +exe default-constructor2 : default-constructor2.cpp : $(BOOST_ROOT) : debug on ; +exe default-constructor : default-constructor.cpp : $(BOOST_ROOT) : debug on ; +exe dfs : dfs.cpp : $(BOOST_ROOT) : debug on ; +exe dfs-example : dfs-example.cpp : $(BOOST_ROOT) : debug on ; +exe dfs-parenthesis : dfs-parenthesis.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe dijkstra-example : dijkstra-example.cpp : $(BOOST_ROOT) : debug on ; +exe edge_basics : edge_basics.cpp : $(BOOST_ROOT) : debug on ; +exe edge_connectivity : edge_connectivity.cpp : $(BOOST_ROOT) : debug on ; +exe edge-connectivity : edge-connectivity.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe edge-function : edge-function.cpp : $(BOOST_ROOT) : debug on ; +exe edge_iterator_constructor : edge_iterator_constructor.cpp : $(BOOST_ROOT) : debug on ; +exe edge-iter-constructor : edge-iter-constructor.cpp : $(BOOST_ROOT) : debug on ; +exe edge_property : edge_property.cpp : $(BOOST_ROOT) : debug on ; +exe edmunds-karp-eg : edmunds-karp-eg.cpp : $(BOOST_ROOT) : debug on ; +exe edmunds_karp_max_flow : edmunds_karp_max_flow.cpp : $(BOOST_ROOT) : debug on ; +exe exterior_properties : exterior_properties.cpp : $(BOOST_ROOT) : debug on ; +exe exterior_property_map : exterior_property_map.cpp : $(BOOST_ROOT) : debug on ; +exe family-tree-eg : family-tree-eg.cpp : $(BOOST_ROOT) : debug on ; +exe fibonacci_heap : fibonacci_heap.cpp : $(BOOST_ROOT) : debug on ; +exe file_dependencies : file_dependencies.cpp : $(BOOST_ROOT) : debug on ; +exe filtered_graph : filtered_graph.cpp : $(BOOST_ROOT) : debug on ; +exe gerdemann : gerdemann.cpp : $(BOOST_ROOT) : debug on ; exe girth : girth.cpp : $(BOOST_ROOT) $(SGB) - $(SGB)/libgb.a ; -exe graph-assoc-types : graph-assoc-types.cpp : $(BOOST_ROOT) ; -exe graph : graph.cpp : $(BOOST_ROOT) ; -exe graph-property-iter-eg : graph-property-iter-eg.cpp : $(BOOST_ROOT) ; -exe graphviz : graphviz.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe incremental_components : incremental_components.cpp : $(BOOST_ROOT) ; -exe incremental-components-eg : incremental-components-eg.cpp : $(BOOST_ROOT) ; -exe in_edges : in_edges.cpp : $(BOOST_ROOT) ; -exe interior_property_map : interior_property_map.cpp : $(BOOST_ROOT) ; -exe isomorphism : isomorphism.cpp : $(BOOST_ROOT) ; -exe iterator-property-map-eg : iterator-property-map-eg.cpp : $(BOOST_ROOT) ; -exe johnson-eg : johnson-eg.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe kevin-bacon : kevin-bacon.cpp : $(BOOST_ROOT) ; -exe knights-tour : knights-tour.cpp : $(BOOST_ROOT) ; -exe kruskal-example : kruskal-example.cpp : $(BOOST_ROOT) ; -exe kruskal-telephone : kruskal-telephone.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe last-mod-time : last-mod-time.cpp : $(BOOST_ROOT) ; + $(SGB)/libgb.a : debug on ; +exe graph-assoc-types : graph-assoc-types.cpp : $(BOOST_ROOT) : debug on ; +exe graph : graph.cpp : $(BOOST_ROOT) : debug on ; +exe graph-property-iter-eg : graph-property-iter-eg.cpp : $(BOOST_ROOT) : debug on ; +exe graphviz : graphviz.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe incremental_components : incremental_components.cpp : $(BOOST_ROOT) : debug on ; +exe incremental-components-eg : incremental-components-eg.cpp : $(BOOST_ROOT) : debug on ; +exe in_edges : in_edges.cpp : $(BOOST_ROOT) : debug on ; +exe interior_property_map : interior_property_map.cpp : $(BOOST_ROOT) : debug on ; +exe isomorphism : isomorphism.cpp : $(BOOST_ROOT) : debug on ; +exe iterator-property-map-eg : iterator-property-map-eg.cpp : $(BOOST_ROOT) : debug on ; +exe johnson-eg : johnson-eg.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe kevin-bacon : kevin-bacon.cpp : $(BOOST_ROOT) : debug on ; +exe knights-tour : knights-tour.cpp : $(BOOST_ROOT) : debug on ; +exe kruskal-example : kruskal-example.cpp : $(BOOST_ROOT) : debug on ; +exe kruskal-telephone : kruskal-telephone.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe last-mod-time : last-mod-time.cpp : $(BOOST_ROOT) : debug on ; exe leda-concept-check : leda-concept-check.cpp : $(BOOST_ROOT) - $(LEDA)/incl $(LEDA)/libG.a $(LEDA)/libL.a $(LEDA)/libP.a ; + $(LEDA)/incl $(LEDA)/libG.a $(LEDA)/libL.a $(LEDA)/libP.a : debug on ; exe leda-graph-eg : leda-graph-eg.cpp : $(BOOST_ROOT) $(LEDA)/incl $(LEDA)/libG.a - $(LEDA)/libL.a $(LEDA)/libP.a ; -exe loops_dfs : loops_dfs.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe max_flow : max_flow.cpp : $(BOOST_ROOT) ; + $(LEDA)/libL.a $(LEDA)/libP.a : debug on ; +exe loops_dfs : loops_dfs.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe max_flow : max_flow.cpp : $(BOOST_ROOT) : debug on ; exe miles_span : miles_span.cpp : $(BOOST_ROOT) $(SGB) - $(SGB)/libgb.a ; -exe minimum_degree_ordering : minimum_degree_ordering.cpp iohb.c : $(BOOST_ROOT) ; -exe min_max_paths : min_max_paths.cpp : $(BOOST_ROOT) ; -exe modify_graph : modify_graph.cpp : $(BOOST_ROOT) ; -exe neighbor_bfs : neighbor_bfs.cpp : $(BOOST_ROOT) ; -exe ordered_out_edges : ordered_out_edges.cpp : $(BOOST_ROOT) ; -exe ospf-example : ospf-example.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe parallel-compile-time : parallel-compile-time.cpp : $(BOOST_ROOT) ; -exe prim-example : prim-example.cpp : $(BOOST_ROOT) ; -exe prim-telephone : prim-telephone.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe print-adjacent-vertices : print-adjacent-vertices.cpp : $(BOOST_ROOT) ; -exe print-edges : print-edges.cpp : $(BOOST_ROOT) ; -exe print-in-edges : print-in-edges.cpp : $(BOOST_ROOT) ; -exe print-out-edges : print-out-edges.cpp : $(BOOST_ROOT) ; -exe property_iterator : property_iterator.cpp : $(BOOST_ROOT) ; -exe property-map-traits-eg : property-map-traits-eg.cpp : $(BOOST_ROOT) ; -exe push-relabel-eg : push-relabel-eg.cpp : $(BOOST_ROOT) ; -exe put-get-helper-eg : put-get-helper-eg.cpp : $(BOOST_ROOT) ; -exe quick_tour : quick_tour.cpp : $(BOOST_ROOT) ; -exe quick-tour : quick-tour.cpp : $(BOOST_ROOT) ; -exe reachable-loop-head : reachable-loop-head.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe reachable-loop-tail : reachable-loop-tail.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe remove_edge_if_bidir : remove_edge_if_bidir.cpp : $(BOOST_ROOT) ; -exe remove_edge_if_dir : remove_edge_if_dir.cpp : $(BOOST_ROOT) ; -exe remove_edge_if_undir : remove_edge_if_undir.cpp : $(BOOST_ROOT) ; -exe reverse_graph : reverse_graph.cpp : $(BOOST_ROOT) ; -exe reverse-graph-eg : reverse-graph-eg.cpp : $(BOOST_ROOT) ; + $(SGB)/libgb.a : debug on ; +exe minimum_degree_ordering : minimum_degree_ordering.cpp iohb.c : $(BOOST_ROOT) : debug on ; +exe min_max_paths : min_max_paths.cpp : $(BOOST_ROOT) : debug on ; +exe modify_graph : modify_graph.cpp : $(BOOST_ROOT) : debug on ; +exe neighbor_bfs : neighbor_bfs.cpp : $(BOOST_ROOT) : debug on ; +exe ordered_out_edges : ordered_out_edges.cpp : $(BOOST_ROOT) : debug on ; +exe ospf-example : ospf-example.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe parallel-compile-time : parallel-compile-time.cpp : $(BOOST_ROOT) : debug on ; +exe prim-example : prim-example.cpp : $(BOOST_ROOT) : debug on ; +exe prim-telephone : prim-telephone.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe print-adjacent-vertices : print-adjacent-vertices.cpp : $(BOOST_ROOT) : debug on ; +exe print-edges : print-edges.cpp : $(BOOST_ROOT) : debug on ; +exe print-in-edges : print-in-edges.cpp : $(BOOST_ROOT) : debug on ; +exe print-out-edges : print-out-edges.cpp : $(BOOST_ROOT) : debug on ; +exe property_iterator : property_iterator.cpp : $(BOOST_ROOT) : debug on ; +exe property-map-traits-eg : property-map-traits-eg.cpp : $(BOOST_ROOT) : debug on ; +exe push-relabel-eg : push-relabel-eg.cpp : $(BOOST_ROOT) : debug on ; +exe put-get-helper-eg : put-get-helper-eg.cpp : $(BOOST_ROOT) : debug on ; +exe quick_tour : quick_tour.cpp : $(BOOST_ROOT) : debug on ; +exe quick-tour : quick-tour.cpp : $(BOOST_ROOT) : debug on ; +exe reachable-loop-head : reachable-loop-head.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe reachable-loop-tail : reachable-loop-tail.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe remove_edge_if_bidir : remove_edge_if_bidir.cpp : $(BOOST_ROOT) : debug on ; +exe remove_edge_if_dir : remove_edge_if_dir.cpp : $(BOOST_ROOT) : debug on ; +exe remove_edge_if_undir : remove_edge_if_undir.cpp : $(BOOST_ROOT) : debug on ; +exe reverse_graph : reverse_graph.cpp : $(BOOST_ROOT) : debug on ; +exe reverse-graph-eg : reverse-graph-eg.cpp : $(BOOST_ROOT) : debug on ; exe roget_components : roget_components.cpp : $(BOOST_ROOT) - $(SGB) $(SGB)/libgb.a ; -exe scc : scc.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe strong_components : strong_components.cpp ../build/libbgl-viz : $(BOOST_ROOT) ; -exe strong-components : strong-components.cpp : $(BOOST_ROOT) ; -exe subgraph : subgraph.cpp : $(BOOST_ROOT) ; -exe topo-sort1 : topo-sort1.cpp : $(BOOST_ROOT) ; -exe topo-sort2 : topo-sort2.cpp : $(BOOST_ROOT) ; -exe topo_sort : topo_sort.cpp : $(BOOST_ROOT) ; -exe topo-sort-file-dep2 : topo-sort-file-dep2.cpp : $(BOOST_ROOT) ; -exe topo-sort-file-dep : topo-sort-file-dep.cpp : $(BOOST_ROOT) ; + $(SGB) $(SGB)/libgb.a : debug on ; +exe scc : scc.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe strong_components : strong_components.cpp ../build/libbgl-viz : $(BOOST_ROOT) : debug on ; +exe strong-components : strong-components.cpp : $(BOOST_ROOT) : debug on ; +exe subgraph : subgraph.cpp : $(BOOST_ROOT) : debug on ; +exe topo-sort1 : topo-sort1.cpp : $(BOOST_ROOT) : debug on ; +exe topo-sort2 : topo-sort2.cpp : $(BOOST_ROOT) : debug on ; +exe topo_sort : topo_sort.cpp : $(BOOST_ROOT) : debug on ; +exe topo-sort-file-dep2 : topo-sort-file-dep2.cpp : $(BOOST_ROOT) : debug on ; +exe topo-sort-file-dep : topo-sort-file-dep.cpp : $(BOOST_ROOT) : debug on ; exe topo-sort-with-leda : topo-sort-with-leda.cpp : $(BOOST_ROOT) $(LEDA)/incl $(LEDA)/libG.a - $(LEDA)/libL.a $(LEDA)/libP.a ; + $(LEDA)/libL.a $(LEDA)/libP.a : debug on ; exe topo-sort-with-sgb : topo-sort-with-sgb.cpp : $(BOOST_ROOT) - $(SGB) $(SGB)/libgb.a ; -exe transitive_closure : transitive_closure.cpp : $(BOOST_ROOT) ; -exe transpose-example : transpose-example.cpp : $(BOOST_ROOT) ; -exe undirected : undirected.cpp : $(BOOST_ROOT) ; -exe vector-as-graph : vector-as-graph.cpp : $(BOOST_ROOT) ; -exe vertex_basics : vertex_basics.cpp : $(BOOST_ROOT) ; -exe vertex-name-property : vertex-name-property.cpp : $(BOOST_ROOT) ; -exe visitor : visitor.cpp : $(BOOST_ROOT) ; + $(SGB) $(SGB)/libgb.a : debug on ; +exe transitive_closure : transitive_closure.cpp : $(BOOST_ROOT) : debug on ; +exe transpose-example : transpose-example.cpp : $(BOOST_ROOT) : debug on ; +exe undirected : undirected.cpp : $(BOOST_ROOT) : debug on ; +exe vector-as-graph : vector-as-graph.cpp : $(BOOST_ROOT) : debug on ; +exe vertex_basics : vertex_basics.cpp : $(BOOST_ROOT) : debug on ; +exe vertex-name-property : vertex-name-property.cpp : $(BOOST_ROOT) : debug on ; +exe visitor : visitor.cpp : $(BOOST_ROOT) : debug on ; diff --git a/example/accum-compile-times.cpp b/example/accum-compile-times.cpp index 190b2a25..461c0129 100644 --- a/example/accum-compile-times.cpp +++ b/example/accum-compile-times.cpp @@ -25,14 +25,15 @@ #include #include #include +#include +#include #include -#include #include namespace std { template < typename T > - std::istream & operator >> (std::istream & in, std::pair < T, T > &p) + std::istream& operator >> (std::istream& in, std::pair < T, T > &p) { in >> p.first >> p.second; return in; @@ -68,13 +69,22 @@ main() { std::ifstream file_in("makefile-dependencies.dat"); typedef graph_traits::vertices_size_type size_type; - size_type - n_vertices; + size_type n_vertices; file_in >> n_vertices; // read in number of vertices +#ifdef BOOST_MSVC + // std::istream_iterator causes trouble with VC++ + std::vector id2vertex; + file_dep_graph2 g; + for (std::size_t i = 0; i < n_vertices; ++i) + id2vertex.push_back(add_vertex(g)); + std::pair p; + while (file_in >> p) + add_edge(id2vertex[p.first], id2vertex[p.second], g); +#else std::istream_iterator > input_begin(file_in), input_end; - file_dep_graph2 - g(input_begin, input_end, n_vertices); + file_dep_graph2 g(input_begin, input_end, n_vertices); +#endif typedef property_map < file_dep_graph2, vertex_name_t >::type name_map_t; typedef property_map < file_dep_graph2, vertex_compile_cost_t >::type @@ -105,3 +115,4 @@ main() return 0; } + diff --git a/include/boost/graph/graphviz.hpp b/include/boost/graph/graphviz.hpp index e5ada5da..f51c962b 100644 --- a/include/boost/graph/graphviz.hpp +++ b/include/boost/graph/graphviz.hpp @@ -84,7 +84,6 @@ namespace boost { return label_writer(n); } - enum edge_attribute_t { edge_attribute = 1111 }; enum vertex_attribute_t { vertex_attribute = 2222 }; enum graph_graph_attribute_t { graph_graph_attribute = 3333 }; diff --git a/include/boost/graph/property_iter_range.hpp b/include/boost/graph/property_iter_range.hpp index e7705125..dfab03e3 100644 --- a/include/boost/graph/property_iter_range.hpp +++ b/include/boost/graph/property_iter_range.hpp @@ -20,40 +20,23 @@ #include #include +#include +#include namespace boost { //====================================================================== // graph property iterator range - namespace detail { - - template - struct choose_graph_iterator { }; - - template <> - struct choose_graph_iterator { - template struct bind { - typedef typename graph_traits::vertex_iterator type; - }; - }; - template <> - struct choose_graph_iterator { - template struct bind { - typedef typename graph_traits::edge_iterator type; - }; - }; - - } // namespace detail - template class graph_property_iter_range { typedef typename property_map::type map_type; typedef typename property_map::const_type const_map_type; typedef typename property_kind::type Kind; - typedef typename detail::choose_graph_iterator - ::template bind::type iter; + typedef typename ct_if::value, + typename graph_traits::vertex_iterator, + typename graph_traits::edge_iterator>::type iter; public: typedef typename property_map_iterator_generator::type iterator; diff --git a/include/boost/pending/detail/property.hpp b/include/boost/pending/detail/property.hpp index ecf0193b..a4afc72c 100644 --- a/include/boost/pending/detail/property.hpp +++ b/include/boost/pending/detail/property.hpp @@ -29,11 +29,11 @@ namespace boost { template struct property_value_dispatch { template - static T& get_value(Property& p, T*, Tag) { + inline static T& get_value(Property& p, T*, Tag) { return p.m_value; } template - static const T& const_get_value(const Property& p, T*, Tag) { + inline static const T& const_get_value(const Property& p, T*, Tag) { return p.m_value; } }; @@ -43,7 +43,7 @@ namespace boost { template struct result { typedef T type; }; template - static T& get_value(Property& p, T* t, Tag tag) { + inline static T& get_value(Property& p, T* t, Tag tag) { typedef typename Property::next_type Next; typedef typename Next::tag_type Next_tag; enum { match = same_property::value }; @@ -51,7 +51,7 @@ namespace boost { ::get_value(static_cast(p), t, tag); } template - static const T& const_get_value(const Property& p, T* t, Tag tag) { + inline static const T& const_get_value(const Property& p, T* t, Tag tag) { typedef typename Property::next_type Next; typedef typename Next::tag_type Next_tag; enum { match = same_property::value }; @@ -67,13 +67,13 @@ namespace boost { // Stop the recursion and return error template - static detail::error_property_not_found& + inline static detail::error_property_not_found& get_value(no_property&, T*, Tag) { static error_property_not_found s_prop_not_found; return s_prop_not_found; } template - static const detail::error_property_not_found& + inline static const detail::error_property_not_found& const_get_value(const no_property&, T*, Tag) { static error_property_not_found s_prop_not_found; return s_prop_not_found; @@ -83,12 +83,12 @@ namespace boost { template <> struct property_value_dispatch<0> { template - static typename property_value_end::template result::type& + inline static typename property_value_end::template result::type& get_value(Property& p, T* t, Tag tag) { return property_value_end::get_value(p, t, tag); } template - static const typename property_value_end::template result::type& + inline static const typename property_value_end::template result::type& const_get_value(const Property& p, T* t, Tag tag) { return property_value_end::const_get_value(p, t, tag); } diff --git a/src/graphviz_digraph_lex.cpp b/src/graphviz_digraph_lex.cpp index e941f12a..7518a7a9 100644 --- a/src/graphviz_digraph_lex.cpp +++ b/src/graphviz_digraph_lex.cpp @@ -9,7 +9,11 @@ #define YY_FLEX_MINOR_VERSION 5 #include +#ifdef _MSC_VER +#define YY_NEVER_INTERACTIVE 1 +#else #include +#endif /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ diff --git a/src/graphviz_graph_lex.cpp b/src/graphviz_graph_lex.cpp index ec4fbc45..d382adbf 100644 --- a/src/graphviz_graph_lex.cpp +++ b/src/graphviz_graph_lex.cpp @@ -9,7 +9,11 @@ #define YY_FLEX_MINOR_VERSION 5 #include +#ifdef _MSC_VER +#define YY_NEVER_INTERACTIVE 1 +#else #include +#endif /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */