diff --git a/CMakeLists.txt b/CMakeLists.txt index 139abdfc..4745fb22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,18 @@ +# Copyright (C) 2008 Michael Jackson +# +# Use, modification and distribution is subject to the Boost Software +# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + #---------------------------------------------------------------------------- # This file was automatically generated from the original CMakeLists.txt file -# Add a variable to hold the headers for the library -set (lib_headers - graph -) # Add a library target to the build system boost_library_project( graph SRCDIRS src TESTDIRS test - HEADERS ${lib_headers} + HEADERS graph # DOCDIRS DESCRIPTION "The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL)." MODULARIZED @@ -20,5 +22,3 @@ boost_library_project( "Douglas Gregor " # MAINTAINERS ) - - diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 7e8da510..eb4c4787 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -4,6 +4,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +import mpi ; + project boost/graph : requirements ../src : source-location ../src @@ -45,9 +47,10 @@ explicit graphml ; lib boost_graph : - read_graphviz_spirit.cpp + read_graphviz_new.cpp graphml : + ../../regex/build//boost_regex BOOST_GRAPH_NO_LIB=1 shared:BOOST_GRAPH_DYN_LINK=1 # # Intel compiler ICEs if we turn optimization on @@ -57,4 +60,4 @@ lib boost_graph msvc-8.0:-GR- ; -boost-install boost_graph ; \ No newline at end of file +boost-install boost_graph ; diff --git a/doc/AStarHeuristic.html b/doc/AStarHeuristic.html index a123dc0b..5d0c1aeb 100644 --- a/doc/AStarHeuristic.html +++ b/doc/AStarHeuristic.html @@ -1,10 +1,10 @@ Boost Graph Library: AStarHeuristic @@ -128,7 +128,7 @@ Called for the target of every out edge of a vertex being examined.
- @@ -203,7 +203,7 @@ happens after all of its out edges have been examined.
Copyright © 2004 +Copyright © 2004 Kristopher Beevers, Rensselaer Polytechnic Institute (beevek@cs.rpi.edu) diff --git a/doc/AStarVisitor.html b/doc/AStarVisitor.html index fe4d3c5c..da99a8ed 100644 --- a/doc/AStarVisitor.html +++ b/doc/AStarVisitor.html @@ -1,10 +1,10 @@ Boost Graph Library: AStarVisitor @@ -70,7 +70,7 @@ taken during the graph search.
WeightMap A type that is a model of Readable Property +href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map.
-
Copyright © 2004 +Copyright © 2004 Kristopher Beevers, Rensselaer Polytechnic Institute (beevek@cs.rpi.edu) diff --git a/doc/AddEdgeVisitor.html b/doc/AddEdgeVisitor.html index f263ed92..7f924d2e 100644 --- a/doc/AddEdgeVisitor.html +++ b/doc/AddEdgeVisitor.html @@ -1,11 +1,11 @@ AddEdgeVisitor Concept @@ -106,7 +106,7 @@ no arguments.visit_vertex_pair(u, v, g) is just a dispatch to add_edge(u, v, g).
  • edge_index_update_visitor: The constructor of this class takes two arguments: the first, an EdgeIndexMap, -is a +is a ReadWritePropertyMap that maps each edge in the associated graph g to a distinct integer in the range [0, num_edges(g)). The second argument is the number of edges in the underlying graph, which @@ -127,4 +127,4 @@ and update the edge index for the newly created edge. Copyright © 2007 Aaron Windsor ( aaron.windsor@gmail.com) - \ No newline at end of file + diff --git a/doc/AdjacencyGraph.html b/doc/AdjacencyGraph.html index 317b34bb..0764b29b 100644 --- a/doc/AdjacencyGraph.html +++ b/doc/AdjacencyGraph.html @@ -1,10 +1,10 @@ AdjacencyGraph @@ -160,7 +160,7 @@ experience with graph algorithm implementations.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/AdjacencyMatrix.html b/doc/AdjacencyMatrix.html index cb458547..e3c18250 100644 --- a/doc/AdjacencyMatrix.html +++ b/doc/AdjacencyMatrix.html @@ -1,10 +1,10 @@ AdjacencyMatrix @@ -95,7 +95,7 @@ The edge() function must return in constant time.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/BFSVisitor.html b/doc/BFSVisitor.html index 2d6fc3d7..2390a294 100644 --- a/doc/BFSVisitor.html +++ b/doc/BFSVisitor.html @@ -1,10 +1,10 @@ Boost Graph Library: BFSVisitor @@ -206,7 +206,7 @@ class count_tree_edges_bfs_visitor(bgl.Graph.BFSVisitor):
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/BasicMatrix.html b/doc/BasicMatrix.html index 986abaea..00ba171e 100644 --- a/doc/BasicMatrix.html +++ b/doc/BasicMatrix.html @@ -1,10 +1,10 @@ BasicMatrix @@ -93,7 +93,7 @@ Element access is constant time.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu) diff --git a/doc/BellmanFordVisitor.html b/doc/BellmanFordVisitor.html index c49992b9..96462288 100644 --- a/doc/BellmanFordVisitor.html +++ b/doc/BellmanFordVisitor.html @@ -1,10 +1,10 @@ Boost Graph Library: Bellman Ford Visitor @@ -170,7 +170,7 @@ class count_tree_edges_bellman_ford_visitor(bgl.Graph.BellmanFordVisitor):
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/BidirectionalGraph.html b/doc/BidirectionalGraph.html index 404b1c72..f67a92a4 100644 --- a/doc/BidirectionalGraph.html +++ b/doc/BidirectionalGraph.html @@ -1,10 +1,10 @@ Bidirectional @@ -167,7 +167,7 @@ undirected graphs).
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/Buffer.html b/doc/Buffer.html index 3a52b1b1..b3243dea 100644 --- a/doc/Buffer.html +++ b/doc/Buffer.html @@ -1,10 +1,10 @@ Buffer @@ -109,7 +109,7 @@ most linear time complexity in the size of the Generalized Queue.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University and C++ Library & Compiler Group/SGI (jsiek@engr.sgi.com)
    diff --git a/doc/ColorValue.html b/doc/ColorValue.html index 4e3111b3..101dde3c 100644 --- a/doc/ColorValue.html +++ b/doc/ColorValue.html @@ -1,10 +1,10 @@ Boost Graph Library: ColorValue Concept @@ -94,7 +94,7 @@ href="http://www.sgi.com/tech/stl/DefaultConstructible.html">DefaultConstructibl
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/DFSVisitor.html b/doc/DFSVisitor.html index 99784844..7ba1c342 100644 --- a/doc/DFSVisitor.html +++ b/doc/DFSVisitor.html @@ -1,10 +1,10 @@ DFS Visitor @@ -198,7 +198,7 @@ class count_tree_edges_dfs_visitor(bgl.Graph.DFSVisitor):
    - - + @@ -75,7 +75,7 @@ the search. - + @@ -208,7 +208,7 @@ class count_tree_edges_dijkstra_visitor(bgl.Graph.DijkstraVisitor):
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/DijkstraVisitor.html b/doc/DijkstraVisitor.html index c504cb71..e8c8c6c9 100644 --- a/doc/DijkstraVisitor.html +++ b/doc/DijkstraVisitor.html @@ -1,10 +1,10 @@ Boost Graph Library: Dijkstra Visitor @@ -65,7 +65,7 @@ the search.
    DistanceMapA type that is a model of Read/Write Property Map.A type that is a model of Read/Write Property Map.
    WeightMapA type that is a model of Readable Property Map.A type that is a model of Readable Property Map.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/EdgeListGraph.html b/doc/EdgeListGraph.html index f5d086ce..cb87cdb0 100644 --- a/doc/EdgeListGraph.html +++ b/doc/EdgeListGraph.html @@ -1,10 +1,10 @@ EdgeListGraph @@ -176,7 +176,7 @@ must all return in constant time.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/EdgeMutableGraph.html b/doc/EdgeMutableGraph.html index 07818d49..8429f0c5 100644 --- a/doc/EdgeMutableGraph.html +++ b/doc/EdgeMutableGraph.html @@ -1,10 +1,10 @@ Edge Mutable Graph @@ -100,7 +100,7 @@ UNDER CONSTRUCTION
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/EventVisitor.html b/doc/EventVisitor.html index 10cf6407..bba55b9f 100644 --- a/doc/EventVisitor.html +++ b/doc/EventVisitor.html @@ -1,10 +1,10 @@ Boost Graph Library: EventVisitor @@ -147,7 +147,7 @@ either a vertex or edge descriptor of the graph.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/EventVisitorList.html b/doc/EventVisitorList.html index 070d391f..c4dd24f7 100644 --- a/doc/EventVisitorList.html +++ b/doc/EventVisitorList.html @@ -1,10 +1,10 @@ Boost Graph Library: EventVisitorList @@ -113,7 +113,7 @@ std::make_pair(visitor1,
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/Graph.html b/doc/Graph.html index 50812786..2c74f367 100644 --- a/doc/Graph.html +++ b/doc/Graph.html @@ -1,10 +1,10 @@ Graph @@ -141,7 +141,7 @@ any vertex of graph object which type is G.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/IncidenceGraph.html b/doc/IncidenceGraph.html index 069b9371..cbdc60b1 100644 --- a/doc/IncidenceGraph.html +++ b/doc/IncidenceGraph.html @@ -1,10 +1,10 @@ IncidenceGraph @@ -188,7 +188,7 @@ Therefore, the extra requirement is added that the out-edge connecting
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/IteratorConstructibleGraph.html b/doc/IteratorConstructibleGraph.html index 901452eb..9ac6fe46 100644 --- a/doc/IteratorConstructibleGraph.html +++ b/doc/IteratorConstructibleGraph.html @@ -1,10 +1,10 @@ IteratorConstructibleGraph @@ -147,7 +147,7 @@ constructor lacking the graph size information.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/Monoid.html b/doc/Monoid.html index c0898b70..c38e3009 100644 --- a/doc/Monoid.html +++ b/doc/Monoid.html @@ -1,10 +1,10 @@ Monoid @@ -108,7 +108,7 @@ Return type: bool
    - @@ -99,7 +99,7 @@ with a key type the same as the graph's vertex or edge descriptor type. @@ -202,7 +202,7 @@ The get() property map function must be constant time.
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/MutableGraph.html b/doc/MutableGraph.html index b50890ca..edc4e64a 100644 --- a/doc/MutableGraph.html +++ b/doc/MutableGraph.html @@ -1,10 +1,10 @@ MutableGraph @@ -291,7 +291,7 @@ is no longer a valid vertex descriptor.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/MutablePropertyGraph.html b/doc/MutablePropertyGraph.html index 15f17711..8275bbbc 100644 --- a/doc/MutablePropertyGraph.html +++ b/doc/MutablePropertyGraph.html @@ -1,10 +1,10 @@ MutablePropertyGraph @@ -142,7 +142,7 @@ Return type: vertex_descriptor
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/PlanarEmbedding.html b/doc/PlanarEmbedding.html index 7e3739f5..fb24b076 100644 --- a/doc/PlanarEmbedding.html +++ b/doc/PlanarEmbedding.html @@ -1,9 +1,9 @@ Planar Embedding Concept @@ -27,7 +27,7 @@ the graph, of all of the edges incident on that vertex in the order in which they are to be drawn around that vertex.

    A planar embedding is a refinement of -LValuePropertyMap that +LValuePropertyMap that places additional restrictions the value_type used in the property map. @@ -137,7 +137,7 @@ concept. Below is an example of using this approach to create a model of PlanarEmbedding:

    -#include <boost/property_map.hpp>
    +#include <boost/property_map/property_map.hpp>
     #include <vector>
     
     ...
    @@ -175,4 +175,4 @@ planar_embedding_t planar_embedding(planar_embedding_storage.begin(),
     Copyright © 2007 Aaron Windsor (
     aaron.windsor@gmail.com) 
     
    -
    \ No newline at end of file
    +
    diff --git a/doc/PlanarFaceVisitor.html b/doc/PlanarFaceVisitor.html
    index 3fa3ab59..a6c25c6f 100644
    --- a/doc/PlanarFaceVisitor.html
    +++ b/doc/PlanarFaceVisitor.html
    @@ -1,10 +1,10 @@
     
     
     
     Planar Face Visitor Concept
    @@ -142,7 +142,7 @@ a model of Planar Face Visitor.
     
     

    -Copyright © 2007 Aaron Windsor ( +Copyright © 2007 Aaron Windsor ( aaron.windsor@gmail.com) diff --git a/doc/PropertyGraph.html b/doc/PropertyGraph.html index 2ed567b6..ab9fa416 100644 --- a/doc/PropertyGraph.html +++ b/doc/PropertyGraph.html @@ -1,10 +1,10 @@ PropertyGraph @@ -90,7 +90,7 @@ function which returns a property map object.
    boost::property_map<G, PropertyTag>::type
    The type of the property map for the property specified by PropertyTag. This type must be a model of ReadWritePropertyMap +href="../../property_map/doc/ReadWritePropertyMap.html">ReadWritePropertyMap with a key type the same as the graph's vertex or edge descriptor type.
    boost::property_map<G, PropertyTag>::const_type
    The type of the const property map for the property specified by PropertyTag. This type must be a model of ReadablePropertyMap +href="../../property_map/doc/ReadablePropertyMap.html">ReadablePropertyMap with a key type the same as the graph's vertex or edge descriptor type.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/PropertyTag.html b/doc/PropertyTag.html index 6b0c0267..455ea231 100644 --- a/doc/PropertyTag.html +++ b/doc/PropertyTag.html @@ -1,10 +1,10 @@ Property @@ -96,7 +96,7 @@ href="../../../boost/graph/properties.hpp">boost/graph/properties.hppPropertyGraph and -Property Map Concepts +Property Map Concepts

    Notes

    @@ -109,7 +109,7 @@ type is also required to specialize
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/TSPTourVisitor.html b/doc/TSPTourVisitor.html index bf6ca0e2..42d6e3b2 100644 --- a/doc/TSPTourVisitor.html +++ b/doc/TSPTourVisitor.html @@ -92,7 +92,7 @@ This is invoked on each vertex of the graph when it is visited as part of the TS
    -
    Copyright © 2008 +Copyright © 2008 Matyas Egyhazy
    diff --git a/doc/VertexAndEdgeListGraph.html b/doc/VertexAndEdgeListGraph.html index 50c6a134..5aabebda 100644 --- a/doc/VertexAndEdgeListGraph.html +++ b/doc/VertexAndEdgeListGraph.html @@ -1,10 +1,10 @@ VertexAndEdgeListGraph @@ -62,7 +62,7 @@ requirements are added.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/VertexListGraph.html b/doc/VertexListGraph.html index e49cdfca..ee546fea 100644 --- a/doc/VertexListGraph.html +++ b/doc/VertexListGraph.html @@ -1,10 +1,10 @@ VertexListGraph @@ -146,7 +146,7 @@ groups these requirements together, hence the VertexListGraph concept.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/VertexMutableGraph.html b/doc/VertexMutableGraph.html index cec0a001..043b4f09 100644 --- a/doc/VertexMutableGraph.html +++ b/doc/VertexMutableGraph.html @@ -1,10 +1,10 @@ Vertex Mutable Graph @@ -73,7 +73,7 @@ No additional associated types.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu) Lie-Quan Lee, Indiana University (llee@cs.indiana.edu)
    diff --git a/doc/acknowledgements.html b/doc/acknowledgements.html index 16f3af7e..de6a8d38 100644 --- a/doc/acknowledgements.html +++ b/doc/acknowledgements.html @@ -1,10 +1,10 @@ Boost Graph Library: Acknowledgements @@ -62,7 +62,7 @@ Science of the U.S. Department of Energy.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/adjacency_iterator.html b/doc/adjacency_iterator.html index b995da3e..159c8f72 100644 --- a/doc/adjacency_iterator.html +++ b/doc/adjacency_iterator.html @@ -1,10 +1,10 @@ diff --git a/doc/adjacency_list.html b/doc/adjacency_list.html index 0c567231..be600274 100644 --- a/doc/adjacency_list.html +++ b/doc/adjacency_list.html @@ -1,10 +1,10 @@ Boost Graph Library: Adjacency List @@ -175,13 +175,13 @@ properties is described in Section Internal Properties . The property maps are objects that implement the interface defined in Section Property Map +HREF="../../property_map/doc/property_map.html">Property Map Concepts or may be bundled properties, which have a more succinct syntax. The types of all property values must be Copy Constructible, Assignable, and Default Constructible. The property maps obtained from the adjacency_list class are models of the Lvalue Property +href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map concept. If the adjacency_list is const, then the property map is constant, otherwise the property map is mutable. @@ -194,7 +194,7 @@ the vertex_index_t property. The indices fall in the range removed the indices are adjusted so that they retain these properties. Some care must be taken when using these indices to access exterior property storage. The property map for vertex index is a -model of Readable +model of Readable Property Map.

    @@ -592,7 +592,7 @@ template <class EdgeIterator, class EdgePropertyIterator> adjacency_list(EdgeIterator first, EdgeIterator last, EdgePropertyIterator ep_iter, vertices_size_type n, - vertices_size_type m = 0, + edges_size_type m = 0, const GraphProperty& p = GraphProperty()) Creates a graph object with n vertices and with the edges @@ -1120,7 +1120,7 @@ Include boost/graph/ad


    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/adjacency_list_traits.html b/doc/adjacency_list_traits.html index 14f60063..d37a9698 100644 --- a/doc/adjacency_list_traits.html +++ b/doc/adjacency_list_traits.html @@ -1,10 +1,10 @@ Boost Graph Library: Graph Traits @@ -144,7 +144,7 @@ parallel edges (disallow_parallel_edge_tag).
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/adjacency_matrix.html b/doc/adjacency_matrix.html index 4f8d5390..7da34fc0 100644 --- a/doc/adjacency_matrix.html +++ b/doc/adjacency_matrix.html @@ -1,10 +1,10 @@ Boost Graph Library: Adjacency Matrix @@ -215,7 +215,7 @@ href="./MutablePropertyGraph.html">MutablePropertyGraph, and Assignable. -

    Associates Types

    +

    Associated Types


    diff --git a/doc/astar_heuristic.html b/doc/astar_heuristic.html index 163066bb..5c215d6d 100644 --- a/doc/astar_heuristic.html +++ b/doc/astar_heuristic.html @@ -1,10 +1,10 @@ Boost Graph Library: astar_heuristic @@ -86,7 +86,7 @@ to a goal.
    -
    Copyright © 2004 +Copyright © 2004 Kristopher Beevers, Rensselaer Polytechnic Institute (beevek@cs.rpi.edu) diff --git a/doc/astar_search.html b/doc/astar_search.html index eaf1e630..d81680da 100644 --- a/doc/astar_search.html +++ b/doc/astar_search.html @@ -1,10 +1,10 @@ Boost Graph Library: A* Heuristic Search @@ -50,6 +50,25 @@ astar_search VertexIndexMap index_map, ColorMap color, CompareFunction compare, CombineFunction combine, CostInf inf, CostZero zero); + +// Version that does not initialize property maps (used for implicit graphs) +template <typename VertexListGraph, typename AStarHeuristic, + typename AStarVisitor, typename PredecessorMap, + typename CostMap, typename DistanceMap, + typename WeightMap, typename ColorMap, + typename VertexIndexMap, + typename CompareFunction, typename CombineFunction, + typename CostInf, typename CostZero> +inline void +astar_search_no_init + (VertexListGraph &g, + typename graph_traits<VertexListGraph>::vertex_descriptor s, + AStarHeuristic h, AStarVisitor vis, + PredecessorMap predecessor, CostMap cost, + DistanceMap distance, WeightMap weight, + ColorMap color, VertexIndexMap index_map, + CompareFunction compare, CombineFunction combine, + CostInf inf, CostZero zero);

    @@ -92,7 +111,10 @@ useful for searching large state spaces -- in gameplaying scenarios (e.g. chess), for example -- in which it may not be possible to store the entire graph. Implicit searches can be performed with this implementation of A* by creating special visitors that generate -neighbors of newly-expanded vertices. +neighbors of newly-expanded vertices. Please note that +astar_search_no_init() must be used for implicit graphs; the basic +astar_search() function requires a graph that models +VertexListGraph.

    @@ -234,7 +256,7 @@ IN: weight_map(WeightMap w_map) href="./exception.html#negative_edge">negative_edge exception if one of the edges is negative. The type WeightMap must be a model of Readable + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The edge descriptor type of the graph needs to be usable as the key type for the weight map. The value type for this map must be the same as the value type of the distance @@ -248,7 +270,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This is necessary for efficient updates of the heap data structure when an edge is relaxed. The type VertexIndexMap must be a model of Readable + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -269,7 +291,7 @@ OUT: predecessor_map(PredecessorMap p_map) p[u] = u then u is either the start vertex or a vertex that is not reachable from the start. The PredecessorMap type must be a Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map with key and vertex types the same as the vertex descriptor type of the graph.
    @@ -283,7 +305,7 @@ UTIL/OUT: distance_map(DistanceMap d_map) vertex in the graph g is recorded in this property map. The shortest path weight is the sum of the edge weights along the shortest path. The type DistanceMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the distance map. The value type of the distance map is the element type of a rank_map(CostMap c_map) the estimated cost (as returned by the heuristic function h) from the vertex to a goal. The type CostMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the distance map. The value type of the distance map is the element type of a color_map(ColorMap c_map) reachable from the source vertex will have been colored black. All other vertices will still be white. The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. A vertex descriptor must be usable as the key type of the map, and the value type of the map must be a model of Color Value.
    @@ -467,7 +489,7 @@ this state by pointer or reference.


    -
    Copyright © 2004 +Copyright © 2004 Kristopher Beevers, Rensselaer Polytechnic Institute (beevek@cs.rpi.edu) diff --git a/doc/astar_visitor.html b/doc/astar_visitor.html index 3df6a3ae..2a94e837 100644 --- a/doc/astar_visitor.html +++ b/doc/astar_visitor.html @@ -1,10 +1,10 @@ Boost Graph Library: astar_visitor @@ -98,7 +98,7 @@ and property_writer.
    -
    Copyright © 2004 +Copyright © 2004 Kristopher Beevers, Rensselaer Polytechnic Institute (beevek@cs.rpi.edu) diff --git a/doc/bandwidth.html b/doc/bandwidth.html index 53877877..b02f770d 100644 --- a/doc/bandwidth.html +++ b/doc/bandwidth.html @@ -1,10 +1,10 @@ Boost Graph Library: Bandwidth @@ -85,7 +85,7 @@ of the i-th bandwidths Bi(G).

    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/bc_clustering.html b/doc/bc_clustering.html index 9fa60e50..14fefb4b 100644 --- a/doc/bc_clustering.html +++ b/doc/bc_clustering.html @@ -1,10 +1,10 @@ @@ -96,7 +96,7 @@ OUT/UTIL: EdgeCentralityMap edge_centrality_map This property map is used to accumulate the betweenness centrality of each edge, and is a secondary form of output for the algorithm. The type EdgeCentralityMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map, with the graph's edge descriptor type as its key type. The value type of this property map should be the same as the value type of the CentralityMap property map.
    @@ -114,7 +114,7 @@ IN: VertexIndexMap vertex_index num_vertices(g)). This is necessary for efficient updates of the heap data structure when an edge is relaxed. The type VertexIndexMap must be a model of - Readable Property Map. The value type of the map must be an + Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: get(vertex_index, g). diff --git a/doc/bellman_ford_shortest.html b/doc/bellman_ford_shortest.html index eb660b6f..0adc4bcf 100644 --- a/doc/bellman_ford_shortest.html +++ b/doc/bellman_ford_shortest.html @@ -1,10 +1,10 @@ Bellman Ford Shortest Paths @@ -201,7 +201,7 @@ IN: weight_map(WeightMap w)
    The weight (also know as ``length'' or ``cost'') of each edge in the graph. The WeightMap type must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The key type for this property map must be the edge descriptor of the graph. The value type for the weight map must be Addable with the distance map's value type.
    @@ -219,7 +219,7 @@ OUT: predecessor_map(PredecessorMap p_map) u then u is either the source vertex or a vertex that is not reachable from the source. The PredecessorMap type must be a Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map which key and vertex types the same as the vertex descriptor type of the graph.
    Default: dummy_property_map
    @@ -232,7 +232,7 @@ IN/OUT: distance_map(DistanceMap d) The shortest path weight from the source vertex to each vertex in the graph g is recorded in this property map. The type DistanceMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The key type of the property map must be the vertex descriptor type of the graph, and the value type of the distance map must be Boost Graph Library: bellman_visitor @@ -97,7 +97,7 @@ and property_writer.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/betweenness_centrality.html b/doc/betweenness_centrality.html index cc3741e0..9b1a27d0 100644 --- a/doc/betweenness_centrality.html +++ b/doc/betweenness_centrality.html @@ -1,11 +1,11 @@ Boost Graph Library: Brandes' Betweenness Centrality @@ -141,13 +141,13 @@ IN: const Graph& g UTIL: IncomingMap incoming
    This property map records the set of edges incoming to each vertex that comprise a shortest path from a particular source vertex through this vertex, and is used internally by the algorithm.The IncomingMap type must be a Lvalue Property + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map whose key type is the same as the vertex descriptor type of the graph and whose value type is a Sequence (e.g., an std::vector) containing edge descriptors.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of std::vector<Edge>, where Edge is the edge descriptor type of the graph.
    @@ -161,14 +161,14 @@ UTIL: DistanceMap distance_map vertex in the graph g is recorded in this property map, but the result is only used internally. The type DistanceMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the distance map. The value type of the distance map is the element type of a Monoid.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the WeightMap's value type (or the vertices_size_type of the graph when no weight map exists) @@ -182,14 +182,14 @@ UTIL: DependencyMap dependency
    Property map used internally to accumulate partial betweenness centrality results. The type DependencyMap must be a model - of Read/Write + of Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the dependency map. The value type of the dependency map must be compatible with the value type of the centrality map.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the CentralityMap's value type of size num_vertices(g) and using the vertex_index @@ -203,14 +203,14 @@ UTIL: PathCountMap path_count Property map used internally to accumulate the number of paths that pass through each particular vertex. The type PathCountMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the dependency map. The value type of the dependency map must be an integral type large enough to store the number of paths in the graph.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the degree_size_type of the graph of size num_vertices(g) and using the vertex_index @@ -225,7 +225,7 @@ OUT/UTIL: CentralityMap centrality_map This property map is used to accumulate the betweenness centrality of each vertex, and is the primary output of the algorithm. The type CentralityMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map, with the graph's vertex descriptor type as its key type. The value type of this property map should be a floating-point or rational type.
    @@ -242,7 +242,7 @@ OUT/UTIL: EdgeCentralityMap edge_centrality_map This property map is used to accumulate the betweenness centrality of each edge, and is a secondary form of output for the algorithm. The type EdgeCentralityMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map, with the graph's edge descriptor type as its key type. The value type of this property map should be the same as the value type of the CentralityMap property map.
    @@ -260,7 +260,7 @@ IN: vertex_index_map(VertexIndexMap vertex_index) num_vertices(g)). This is necessary for efficient updates of the heap data structure when an edge is relaxed. The type VertexIndexMap must be a model of - Readable Property Map. The value type of the map must be an + Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: get(vertex_index, g). @@ -278,7 +278,7 @@ IN: weight_map(WeightMap w_map) negative_edge exception is one of the edges is negative. The type WeightMap must be a model of - Readable Property Map. The edge descriptor type of + Readable Property Map. The edge descriptor type of the graph needs to be usable as the key type for the weight map. The value type for this map must be the same as the value type of the distance map.
    @@ -295,7 +295,7 @@ is O(VE). -
    Copyright © 2004 +Copyright © 2004 Douglas Gregor, Indiana University (dgregor@cs.indiana.edu)
    Andrew Lumsdaine, Indiana University ( Boost Graph Library: bfs_visitor @@ -114,7 +114,7 @@ and property_writer.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/bgl_named_params.html b/doc/bgl_named_params.html index 282e0c82..8258024a 100644 --- a/doc/bgl_named_params.html +++ b/doc/bgl_named_params.html @@ -1,10 +1,10 @@ Boost Graph Library: Named Parameters @@ -82,7 +82,7 @@ like boost::weight_map that create an instance of
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/bibliography.html b/doc/bibliography.html index 19799338..fb3bbb25 100644 --- a/doc/bibliography.html +++ b/doc/bibliography.html @@ -1,10 +1,10 @@ Boost Graph Library: Bibliography @@ -438,7 +438,7 @@ Combinatorica 10: 41-51, 1990.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/biconnected_components.html b/doc/biconnected_components.html index 3b1afa95..4af85e15 100644 --- a/doc/biconnected_components.html +++ b/doc/biconnected_components.html @@ -1,14 +1,14 @@ Boost Graph Library: Biconnected Components and Articulation Points @@ -120,7 +120,7 @@ and assigning each component an integer label. The algorithm then records which component each edge in the graph belongs to by recording the component number in the component property map. The ComponentMap type must be a model of Writable Property +href="../../property_map/doc/WritablePropertyMap.html">Writable Property Map. The value type shouch be an integer type, preferably the same as the edges_size_type of the graph. The key type must be the graph's edge descriptor type.
    @@ -147,7 +147,7 @@ IN: vertex_index_map(VertexIndexMap i_map) This maps each vertex to an integer in the range [0, num_vertices(g)). The type VertexIndexMap must be a model of - Readable Property Map. The value type of the map must be an + Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: get(vertex_index, g)
    @@ -159,12 +159,12 @@ UTIL/OUT: discover_time_map(DiscoverTimeMap discover_time)
    The discovery time of each vertex in the depth-first search. The type DiscoverTimeMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of vertices_size_type of size num_vertices(g) and using get(vertex_index, g) for @@ -178,12 +178,12 @@ UTIL/OUT: lowpoint_map(LowPointMap lowpt) The low point of each vertex in the depth-first search, which is the smallest vertex reachable from a given vertex with at most one back edge. The type LowPointMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of vertices_size_type of size num_vertices(g) and using get(vertex_index, g) for @@ -197,11 +197,11 @@ UTIL/OUT: predecessor_map(PredecessorMap p_map) The predecessor map records the depth first search tree. The PredecessorMap type must be a Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map whose key and value types are the same as the vertex descriptor type of the graph.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of vertex_descriptor of size num_vertices(g) and using get(vertex_index, g) for @@ -243,7 +243,7 @@ articulation points of an undirected graph.
    -
    Copyright © 2000-2004 +Copyright © 2000-2004 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/biconnected_components.w b/doc/biconnected_components.w index 1aec2a55..97ba5dc8 100644 --- a/doc/biconnected_components.w +++ b/doc/biconnected_components.w @@ -285,7 +285,7 @@ S.pop(); #include #include #include -#include +#include namespace boost { @ diff --git a/doc/boyer_myrvold.html b/doc/boyer_myrvold.html index 69569e98..a2792a30 100644 --- a/doc/boyer_myrvold.html +++ b/doc/boyer_myrvold.html @@ -1,10 +1,10 @@ Boost Graph Library: Boyer-Myrvold Planarity Testing/Embedding @@ -191,7 +191,7 @@ An OutputIterator which accepts values of the type IN VertexIndexMap vm
    -A Readable Property Map +A Readable Property Map that maps vertices from g to distinct integers in the range [0, num_vertices(g) )
    Default: get(vertex_index,g)
    @@ -200,7 +200,7 @@ A Readable Property Map IN EdgeIndexMap em
    -A Readable Property Map +A Readable Property Map that maps edges from g to distinct integers in the range [0, num_edges(g) )
    Default: get(edge_index,g), but this parameter is only used if @@ -253,7 +253,7 @@ graph to boyer_myrvold_planarity_test.

    -Copyright © 2007 Aaron Windsor ( +Copyright © 2007 Aaron Windsor ( aaron.windsor@gmail.com) diff --git a/doc/breadth_first_search.html b/doc/breadth_first_search.html index 169fc103..4bf2f23e 100644 --- a/doc/breadth_first_search.html +++ b/doc/breadth_first_search.html @@ -1,10 +1,10 @@ Boost Graph Library: Breadth-First Search @@ -194,12 +194,12 @@ UTIL/OUT: color_map(ColorMap color) function and do your own color initialization.

    The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map and its key type must be the graph's vertex descriptor type and the value type of the color map must model ColorValue.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index @@ -215,7 +215,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This parameter is only necessary when the default color property map is used. The type VertexIndexMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -330,7 +330,7 @@ to listS.


    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/breadth_first_visit.html b/doc/breadth_first_visit.html index c5aa5c1c..96bfc3a3 100644 --- a/doc/breadth_first_visit.html +++ b/doc/breadth_first_visit.html @@ -1,10 +1,10 @@ Boost Graph Library: Breadth-First Visit @@ -87,7 +87,7 @@ UTIL/OUT: color_map(ColorMap color)
    This is used by the algorithm to keep track of its progress through the graph. The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map and its key type must be the graph's vertex descriptor type and the value type of the color map must model ColorValue.
    @@ -178,7 +178,7 @@ The time complexity is O(E).
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/bundles.html b/doc/bundles.html index bafbbdd5..d3a2e470 100644 --- a/doc/bundles.html +++ b/doc/bundles.html @@ -1,12 +1,12 @@ Bundled Properties @@ -147,7 +147,7 @@ dijkstra_shortest_paths(map, from,

    You may also access the entire vertex or edge bundle as a property map using the vertex_bundle or edge_bundle properties, respectively. For instance, the property map returned by get(vertex_bundle, map) is - an Lvalue Property Map providing access to the + an Lvalue Property Map providing access to the City values stored in each vertex.

    Getting the type of bundled properties

    diff --git a/doc/challenge.html b/doc/challenge.html index 2fa7740a..ee72397a 100644 --- a/doc/challenge.html +++ b/doc/challenge.html @@ -1,10 +1,10 @@ Challenge @@ -112,7 +112,7 @@ It is currently difficult to use from a C++ program.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/circle_layout.html b/doc/circle_layout.html index eceffa91..26b66102 100644 --- a/doc/circle_layout.html +++ b/doc/circle_layout.html @@ -1,9 +1,9 @@ Function template circle_graph_layout
    boost.png (6897 bytes)HomeLibrariesPeopleFAQMore

    (Python)Function template circle_graph_layout

    boost::circle_graph_layout — Layout the graph with the vertices at the points of a regular n-polygon.

    Synopsis

     template<typename VertexListGraph, typename PositionMap, typename Radius> 
    @@ -23,7 +23,7 @@ OUT: PositionMap position
     
    This property map is used to store the position of each vertex. The type PositionMap must be a model of Writable Property + href="../../property_map/doc/WritablePropertyMap.html">Writable Property Map, with the graph's edge descriptor type as its key type. The value type of this property map should be assignable from the type Radius.
    @@ -43,7 +43,7 @@ IN: Radius radius -
    Copyright © 2004 +Copyright © 2004 Douglas Gregor, Indiana University (dgregor -at- cs.indiana.edu)
    Andrew Lumsdaine, Indiana University (lums -at- osl.iu.edu) diff --git a/doc/compressed_sparse_row.html b/doc/compressed_sparse_row.html index 1ed2639a..750fef61 100644 --- a/doc/compressed_sparse_row.html +++ b/doc/compressed_sparse_row.html @@ -1,11 +1,11 @@ Compressed Sparse Row Graph @@ -47,6 +47,17 @@ function address(host, user) { or edges from a CSR graph. Use this format in high-performance applications or for very large graphs that you do not need to change.

    + +

    There are two interfaces to the compressed sparse row graph. The + old interface requires that all out edges from a single vertex are + sorted by target, and does not support construction of the graph from + unsorted arrays of sources and targets. The new interface has these + new constructors, but does not support incremental construction of the + graph or the edge_range() and edge() functions. The + old interface is the default, but will be removed in a later version of + Boost. To select the new interface, add #define + BOOST_GRAPH_USE_NEW_CSR_INTERFACE before including + <boost/graph/compressed_sparse_row_graph.hpp>.

    The CSR format stores vertices and edges in separate arrays, with the indices into these arrays corresponding to the identifier @@ -103,19 +114,67 @@ public: // Graph constructors compressed_sparse_row_graph(); + // Unsorted edge list constructors (new interface only) + template<typename MultiPassInputIterator> + compressed_sparse_row_graph(edges_are_unsorted_t, + MultiPassInputIterator edge_begin, MultiPassInputIterator edge_end, + vertices_size_type numverts, + const GraphProperty& prop = GraphProperty()); + + template<typename MultiPassInputIterator, typename EdgePropertyIterator> + compressed_sparse_row_graph(edges_are_unsorted_t, + MultiPassInputIterator edge_begin, MultiPassInputIterator edge_end, + EdgePropertyIterator ep_iter, + vertices_size_type numverts, + const GraphProperty& prop = GraphProperty()); + + // Old sorted edge list constructors (old interface only) template<typename InputIterator> - compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end, + compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end, vertices_size_type numverts, edges_size_type numedges = 0, const GraphProperty& prop = GraphProperty()); template<typename InputIterator, typename EdgePropertyIterator> - compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end, + compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end, EdgePropertyIterator ep_iter, vertices_size_type numverts, edges_size_type numedges = 0, const GraphProperty& prop = GraphProperty()); + // New sorted edge list constructors (both interfaces) + template<typename InputIterator> + compressed_sparse_row_graph(edges_are_sorted_t, + InputIterator edge_begin, InputIterator edge_end, + vertices_size_type numverts, + edges_size_type numedges = 0, + const GraphProperty& prop = GraphProperty()); + + template<typename InputIterator, typename EdgePropertyIterator> + compressed_sparse_row_graph(edges_are_sorted_t, + InputIterator edge_begin, InputIterator edge_end, + EdgePropertyIterator ep_iter, + vertices_size_type numverts, + edges_size_type numedges = 0, + const GraphProperty& prop = GraphProperty()); + + // In-place unsorted edge list constructors (new interface only) + template<typename InputIterator> + compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t, + std::vector<vertex_descriptor>& sources, + std::vector<vertex_descriptor>& targets, + vertices_size_type numverts, + const GraphProperty& prop = GraphProperty()); + + template<typename InputIterator> + compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t, + std::vector<vertex_descriptor>& sources, + std::vector<vertex_descriptor>& targets, + std::vector<EdgeProperty>& edge_props, + vertices_size_type numverts, + const GraphProperty& prop = GraphProperty()); + + // Miscellaneous constructors (both interfaces) template<typename Graph, typename VertexIndexMap> compressed_sparse_row_graph(const Graph& g, const VertexIndexMap& vi, vertices_size_type numverts, @@ -127,7 +186,7 @@ public: template<typename Graph> explicit compressed_sparse_row_graph(const Graph& g); - // Graph mutators + // Graph mutators (both interfaces) template<typename Graph, typename VertexIndexMap> void assign(const Graph& g, const VertexIndexMap& vi, vertices_size_type numverts, edges_size_type numedges); @@ -138,43 +197,46 @@ public: template<typename Graph> void assign(const Graph& g); - // Property Access + // Property Access (both interfaces) VertexProperty& operator[](vertex_descriptor v); const VertexProperty& operator[](vertex_descriptor v) const; EdgeProperty& operator[](edge_descriptor v); const EdgeProperty& operator[](edge_descriptor v) const; }; -// Incidence Graph requirements +// Incidence Graph requirements (both interfaces) vertex_descriptor source(edge_descriptor, const compressed_sparse_row_graph&); vertex_descriptor target(edge_descriptor, const compressed_sparse_row_graph&); std::pair<out_edge_iterator, out_edge_iterator> out_edges(vertex_descriptor, const compressed_sparse_row_graph&); degree_size_type out_degree(vertex_descriptor v, const compressed_sparse_row_graph&); -// Adjacency Graph requirements +// Adjacency Graph requirements (both interfaces) std::pair<adjacency_iterator, adjacency_iterator> adjacent_vertices(vertex_descriptor, const compressed_sparse_row_graph&); -// Vertex List Graph requirements +// Vertex List Graph requirements (both interfaces) std::pair<vertex_iterator, vertex_iterator> vertices(const compressed_sparse_row_graph&); vertices_size_type num_vertices(const compressed_sparse_row_graph&); -// Edge List Graph requirements +// Edge List Graph requirements (both interfaces) std::pair<edge_iterator, edge_iterator> edges(const compressed_sparse_row_graph&); edges_size_type num_edges(const compressed_sparse_row_graph&); -// Vertex access +// Vertex access (both interfaces) vertex_descriptor vertex(vertices_size_type i, const compressed_sparse_row_graph&); // Edge access +(old interface only) std::pair<out_edge_iterator, out_edge_iterator> edge_range(vertex_descriptor u, vertex_descriptor v, const compressed_sparse_row_graph&); +(old interface only) std::pair<edge_descriptor, bool> edge(vertex_descriptor u, vertex_descriptor v, const compressed_sparse_row_graph&); +(both interfaces) edge_descriptor edge_from_index(edges_size_type i, const compressed_sparse_row_graph&); -// Property map accessors +// Property map accessors (both interfaces) template<typename PropertyTag> property_map<compressed_sparse_row_graph, PropertyTag>::type get(PropertyTag, compressed_sparse_row_graph& g) @@ -202,7 +264,7 @@ template<typename GraphProperty void set_property(const compressed_sparse_row_graph& g, GraphPropertyTag, const typename graph_property<compressed_sparse_row_graph, GraphPropertyTag>::type& value); -// Incremental construction functions +// Incremental construction functions (old interface only) template<typename Graph> vertex_descriptor add_vertex(compressed_sparse_row_graph& g); @@ -210,7 +272,7 @@ template<typename Graph> vertex_descriptor add_vertices(vertices_size_type count, compressed_sparse_row_graph& g); template<typename Graph> -edge_descriptor add_vertices(vertex_descriptor src, vertex_descriptor tgt, compressed_sparse_row_graph& g); +edge_descriptor add_edge(vertex_descriptor src, vertex_descriptor tgt, compressed_sparse_row_graph& g); } // end namespace boost @@ -339,8 +401,64 @@ edge_descriptor add_vertices(vertex_descriptor src, vert


    
    +  template<typename MultiPassInputIterator>
    +  compressed_sparse_row_graph(edges_are_unsorted_t,
    +                              MultiPassInputIterator edge_begin, MultiPassInputIterator edge_end,
    +                              vertices_size_type numverts,
    +                              const GraphProperty& prop = GraphProperty());
    +    
    + +

    + Constructs a graph with numverts vertices whose + edges are specified by the iterator range [edge_begin, + edge_end). The MultiPassInputIterator must be a model of + MultiPassInputIterator + whose value_type is an std::pair of + integer values. These integer values are the source and target + vertices for the edges, and must fall within the range [0, + numverts). The edges in [edge_begin, + edge_end) do not need to be sorted. + (This function is only provided by the new interface.) +

    + +

    + The value prop will be used to initialize the graph + property. +

    + +
    + +
    
    +  template<typename MultiPassInputIterator, typename EdgePropertyIterator>
    +  compressed_sparse_row_graph(edges_are_unsorted_t,
    +                              MultiPassInputIterator edge_begin, MultiPassInputIterator edge_end,
    +                              EdgePropertyIterator ep_iter,
    +                              vertices_size_type numverts,
    +                              const GraphProperty& prop = GraphProperty());
    +    
    +

    + This constructor constructs a graph with numverts + vertices and the edges provided in the iterator range + [edge_begin, edge_end). Its semantics are identical + to the edge range constructor, except + that edge properties are also initialized. The type + EdgePropertyIterator must be a model of the MultiPassInputIterator + concept whose value_type is convertible to + EdgeProperty. The iterator range [ep_iter, ep_ter + + m) will be used to initialize the properties on the edges + of the graph, where m is distance from + edge_begin to edge_end. + (This function is only provided by the new interface.) +

    + +
    + +
    
       template<typename InputIterator>
    -  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
    +  compressed_sparse_row_graph(edges_are_sorted_t,
    +                              InputIterator edge_begin, InputIterator edge_end,
                                   vertices_size_type numverts,
                                   edges_size_type numedges = 0,
                                   const GraphProperty& prop = GraphProperty());
    @@ -349,7 +467,10 @@ edge_descriptor add_vertices(vertex_descriptor src, vert
         

    Constructs a graph with numverts vertices whose edges are specified by the iterator range [edge_begin, - edge_end). The InputIterator must be a model of + edge_end). The argument of type edges_are_sorted_t is + a tag used to distinguish this constructor; the value + edges_are_sorted can be used to initialize this parameter. + The InputIterator must be a model of InputIterator whose value_type is an std::pair of @@ -358,7 +479,9 @@ edge_descriptor add_vertices(vertex_descriptor src, vert numverts). The edges in [edge_begin, edge_end) must be sorted so that all edges originating from vertex i preceed any edges originating from all - vertices j where j > i. + vertices j where j > i. (The version of this + constructor without the edges_are_sorted tag is deprecated and + only provided by the old interface.)

    @@ -375,9 +498,10 @@ edge_descriptor add_vertices(vertex_descriptor src, vert


    -
    
    +    
    
       template<typename InputIterator, typename EdgePropertyIterator>
    -  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
    +  compressed_sparse_row_graph(edges_are_sorted_t,
    +                              InputIterator edge_begin, InputIterator edge_end,
                                   EdgePropertyIterator ep_iter,
                                   vertices_size_type numverts,
                                   edges_size_type numedges = 0,
    @@ -395,7 +519,53 @@ edge_descriptor add_vertices(vertex_descriptor src, vert
           EdgeProperty. The iterator range [ep_iter, ep_ter +
             m) will be used to initialize the properties on the edges
           of the graph, where m is distance from
    -      edge_begin to edge_end.
    +      edge_begin to edge_end.  (The version of this
    +      constructor without the edges_are_sorted tag is deprecated and
    +      only provided by the old interface.)
    +    

    + +
    + +
    
    +  template<typename InputIterator>
    +  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t,
    +                              std::vector<vertex_descriptor>& sources,
    +                              std::vector<vertex_descriptor>& targets,
    +                              vertices_size_type numverts,
    +                              const GraphProperty& prop = GraphProperty());
    +    
    +

    + This constructor constructs a graph with numverts vertices + and the edges provided in the two vectors sources and + targets. The two vectors are mutated in-place to sort them + by source vertex. They are returned with unspecified values, but do not + share storage with the constructed graph (and so are safe to destroy). + The parameter prop, if provided, is used to initialize the + graph property. + (This function is only provided by the new interface.) +

    + +
    + +
    
    +  template<typename InputIterator>
    +  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t,
    +                              std::vector<vertex_descriptor>& sources,
    +                              std::vector<vertex_descriptor>& targets,
    +                              std::vector<EdgeProperty>& edge_props,
    +                              vertices_size_type numverts,
    +                              const GraphProperty& prop = GraphProperty());
    +    
    +

    + This constructor constructs a graph with numverts vertices + and the edges provided in the two vectors sources and + targets. Edge properties are initialized from the vector + edge_props. The three vectors are mutated in-place to sort + them by source vertex. They are returned with unspecified values, but do + not share storage with the constructed graph (and so are safe to + destroy). The parameter prop, if provided, is used to + initialize the graph property. + (This function is only provided by the new interface.)


    @@ -510,6 +680,7 @@ edge_descriptor add_vertices(vertex_descriptor src, vert

    Returns all edges from u to v. Requires time linear in the number of edges outgoing from u. + (This function is only provided by the old interface.)


    @@ -526,6 +697,7 @@ edge_descriptor add_vertices(vertex_descriptor src, vert edges exist from u to v, the first edge will be returned; use edge_range to retrieve all edges. + (This function is only provided by the old interface.)


    @@ -630,6 +802,7 @@ vertex_descriptor add_vertex(compressed_sparse_row_graph& g) Add a new vertex to the end of the graph g, and return a descriptor for that vertex. The new vertex will be greater than any of the previous vertices in g. + (This function is only provided by the old interface.)


    @@ -642,6 +815,7 @@ vertex_descriptor add_vertices(vertices_size_type count, compressed_sparse_row_g Add count new vertices to the end of the graph g, and return a descriptor for the smallest new vertex. The new vertices will be greater than any of the previous vertices in g. + (This function is only provided by the old interface.)


    @@ -656,6 +830,7 @@ edge_descriptor add_edge(vertex_descriptor src, vertex_descriptor tgt, compresse whose source vertex is greater than src. If the vertex src has out edges before this operation is called, there must be none whose target is larger than tgt. + (This function is only provided by the old interface.)


    diff --git a/doc/connected_components.html b/doc/connected_components.html index dcfbe8e2..6dd3df94 100644 --- a/doc/connected_components.html +++ b/doc/connected_components.html @@ -1,10 +1,10 @@ Boost Graph Library: Connected Components @@ -74,7 +74,7 @@ and assigning each component an integer label. The algorithm then records which component each vertex in the graph belongs to by recording the component number in the component property map. The ComponentMap type must be a model of Writable Property +href="../../property_map/doc/WritablePropertyMap.html">Writable Property Map. The value type shouch be an integer type, preferably the same as the vertices_size_type of the graph. The key type must be the graph's vertex descriptor type.
    @@ -89,12 +89,12 @@ UTIL: color_map(ColorMap color)
    This is used by the algorithm to keep track of its progress through the graph. The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map and its key type must be the graph's vertex descriptor type and the value type of the color map must model ColorValue.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index @@ -109,7 +109,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This parameter is only necessary when the default color property map is used. The type VertexIndexMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -149,7 +149,7 @@ undirected graph.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/constructing_algorithms.html b/doc/constructing_algorithms.html index 968df19c..0067ee3e 100644 --- a/doc/constructing_algorithms.html +++ b/doc/constructing_algorithms.html @@ -1,10 +1,10 @@ Boost Graph Library: Constructing Graph Algorithms @@ -91,12 +91,12 @@ use the propery map interface. This gives the user of the algorithm the ability to decide how they want to store the properties. Since we will need to both read and write the colors we specify the requirements as ReadWritePropertyMap. The +href="../../property_map/doc/ReadWritePropertyMap.html">ReadWritePropertyMap. The key_type of the color map must be the vertex_descriptor from the graph, and the value_type must be some kind of integer. We also specify the interface for the order parameter as a property map, in this case a ReadablePropertyMap. For +href="../../property_map/doc/ReadablePropertyMap.html">ReadablePropertyMap. For order, the key_type is an integer offset and the value_type is a vertex_descriptor. Again we enforce these requirements with concept checks. The return value of this @@ -169,7 +169,7 @@ namespace boost {
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/copy_graph.html b/doc/copy_graph.html index ab31940f..833370b1 100644 --- a/doc/copy_graph.html +++ b/doc/copy_graph.html @@ -1,10 +1,10 @@ Boost Graph Library: Copy Graph @@ -73,7 +73,7 @@ map from the graph. IN: vertex_index_map(VertexIndexMap i_map)
    The vertex index map type must be a model of Readable Property +href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map and must map the vertex descriptors of G to the integers in the half-open range [0,num_vertices(G)).
    @@ -90,7 +90,7 @@ UTIL/OUT: orig_to_copy(Orig2CopyMap c) This maps vertices in the original graph to vertices in the copy. Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the output graph's vertex descriptor type of size num_vertices(g) and using the i_map for the index @@ -108,7 +108,7 @@ The time complexity is O(V + E).
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/cuthill_mckee_ordering.html b/doc/cuthill_mckee_ordering.html index f5d7c110..a390cfdc 100644 --- a/doc/cuthill_mckee_ordering.html +++ b/doc/cuthill_mckee_ordering.html @@ -1,10 +1,11 @@ - + Boost Graph Library: Cuthill-Mckee Ordering @@ -239,7 +240,7 @@ and degree_property_map in boost/graph/properties.hpp.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/dag_shortest_paths.html b/doc/dag_shortest_paths.html index 4768dc0c..a88e99ba 100644 --- a/doc/dag_shortest_paths.html +++ b/doc/dag_shortest_paths.html @@ -1,10 +1,10 @@ Boost Graph Library: Directed Acyclic Graph Shortest Paths @@ -96,7 +96,7 @@ IN: weight_map(WeightMap w_map)
    The weight or ``length'' of each edge in the graph. The type WeightMap must be a model of - Readable Property Map. The edge descriptor type of + Readable Property Map. The edge descriptor type of the graph needs to be usable as the key type for the weight map. The value type for the map must be Addable with the value type of the distance map.
    @@ -112,7 +112,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This is necessary for efficient updates of the heap data structure when an edge is relaxed. The type VertexIndexMap must be a model of - Readable Property Map. The value type of the map must be an + Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: get(vertex_index, g). @@ -132,7 +132,7 @@ OUT: predecessor_map(PredecessorMap p_map) u then u is either the source vertex or a vertex that is not reachable from the source. The PredecessorMap type must be a Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map which key and vertex types the same as the vertex descriptor type of the graph.
    Default: dummy_property_map
    @@ -145,7 +145,7 @@ UTIL/OUT: distance_map(DistanceMap d_map) vertex in the graph g is recorded in this property map. The shortest path weight is the sum of the edge weights along the shortest path. The type DistanceMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the distance map. @@ -157,7 +157,7 @@ UTIL/OUT: distance_map(DistanceMap d_map) StrictWeakOrdering provided by the compare function object.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the WeightMap's value type of size num_vertices(g) and using the i_map for the index @@ -228,12 +228,12 @@ UTIL/OUT: color_map(ColorMap c_map) from the queue. At the end of the algorithm, vertices reachable from the source vertex will have been colored black. All other vertices will still be white. The type ColorMap must be a model of - Read/Write + Read/Write Property Map. A vertex descriptor must be usable as the key type of the map, and the value type of the map must be a model of Color Value.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index map.
    @@ -317,7 +317,7 @@ algorithm.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/depth_first_search.html b/doc/depth_first_search.html index 51d4d0fc..c598c5f9 100644 --- a/doc/depth_first_search.html +++ b/doc/depth_first_search.html @@ -1,10 +1,10 @@ Boost Graph Library: Depth-First Search @@ -185,12 +185,12 @@ UTIL/OUT: color_map(ColorMap color)
    This is used by the algorithm to keep track of its progress through the graph. The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map and its key type must be the graph's vertex descriptor type and the value type of the color map must model ColorValue.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index @@ -215,7 +215,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This parameter is only necessary when the default color property map is used. The type VertexIndexMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -300,7 +300,7 @@ The example in
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/depth_first_visit.html b/doc/depth_first_visit.html index 7f1b704e..95514e08 100644 --- a/doc/depth_first_visit.html +++ b/doc/depth_first_visit.html @@ -1,10 +1,10 @@ Boost Graph Library: Depth-First Visit @@ -96,7 +96,7 @@ UTIL: ColorMap color
    This is used by the algorithm to keep track of its progress through the graph. The type ColorMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map and its key type must be the graph's vertex descriptor type and the value type of the color map map must model Color Value.
    @@ -136,7 +136,7 @@ Time complexity is O(E).
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/dfs_visitor.html b/doc/dfs_visitor.html index 9c87ce34..9c3fb1a2 100644 --- a/doc/dfs_visitor.html +++ b/doc/dfs_visitor.html @@ -1,10 +1,10 @@ Boost Graph Library: dfs_visitor @@ -97,7 +97,7 @@ and property_writer.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/dijkstra_shortest_paths.html b/doc/dijkstra_shortest_paths.html index 7a439ae1..ac991c79 100644 --- a/doc/dijkstra_shortest_paths.html +++ b/doc/dijkstra_shortest_paths.html @@ -1,10 +1,10 @@ Boost Graph Library: Dijkstra's Shortest Paths @@ -19,7 +19,6 @@ dijkstra_shortest_paths -

     // named parameter version
    @@ -41,6 +40,20 @@ void dijkstra_shortest_paths
        VertexIndexMap index_map,
        CompareFunction compare, CombineFunction combine, DistInf inf, DistZero zero,
        DijkstraVisitor vis, ColorMap color = default)
    +
    +// version that does not initialize the property maps (except for the default color map)
    +template <class Graph, class DijkstraVisitor,
    +          class PredecessorMap, class DistanceMap,
    +          class WeightMap, class IndexMap, class Compare, class Combine,
    +          class DistZero, class ColorMap>
    +void
    +dijkstra_shortest_paths_no_init
    +  (const Graph& g,
    +   typename graph_traits<Graph>::vertex_descriptor s,
    +   PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
    +   IndexMap index_map,
    +   Compare compare, Combine combine, DistZero zero,
    +   DijkstraVisitor vis, ColorMap color = default);
     

    @@ -66,8 +79,8 @@ record the shortest paths tree in a predecessor map: for each vertex u in V, p[u] will be the predecessor of u in the shortest paths tree (unless p[u] = u, in which case u is either the source or a vertex unreachable from the source). In -addition to these two options, the user can provide there own -custom-made visitor that can takes actions during any of the +addition to these two options, the user can provide their own +custom-made visitor that takes actions during any of the algorithm's event points.

    @@ -92,7 +105,7 @@ track of which set each vertex is in. Vertices colored black are in S. Vertices colored white or gray are in V-S. White vertices have not yet been discovered and gray vertices are in the priority queue. By default, the algorithm will allocate an array to store a color -marker for each vertex in the graph. You can provide you own storage +marker for each vertex in the graph. You can provide your own storage and access for colors with the color_map() parameter.

    @@ -109,7 +122,7 @@ indicated by the labels on the right.

     DIJKSTRA(G, s, w)
    -  for each vertex u in V
    +  for each vertex u in V (This loop is not run in dijkstra_shortest_paths_no_init)
         d[u] := infinity 
         p[u] := u 
         color[u] := WHITE
    @@ -202,7 +215,7 @@ IN: weight_map(WeightMap w_map)
       negative_edge 
       exception is one of the edges is negative.
       The type WeightMap must be a model of
    -  Readable Property Map. The edge descriptor type of
    +  Readable Property Map. The edge descriptor type of
       the graph needs to be usable as the key type for the weight
       map. The value type for this map must be
       the same as the value type of the distance map.
    @@ -220,7 +233,7 @@ IN: vertex_index_map(VertexIndexMap i_map) HREF="bibliography.html#driscoll88">61] when an edge is relaxed. The type VertexIndexMap must be a model of - Readable Property Map. The value type of the map must be an + Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    Default: get(vertex_index, g). @@ -241,7 +254,7 @@ OUT: predecessor_map(PredecessorMap p_map) u then u is either the source vertex or a vertex that is not reachable from the source. The PredecessorMap type must be a Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map whose key and value types are the same as the vertex descriptor type of the graph.
    Default: dummy_property_map
    @@ -255,7 +268,7 @@ UTIL/OUT: distance_map(DistanceMap d_map) vertex in the graph g is recorded in this property map. The shortest path weight is the sum of the edge weights along the shortest path. The type DistanceMap must be a model of Read/Write + href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map. The vertex descriptor type of the graph needs to be usable as the key type of the distance map. @@ -267,7 +280,7 @@ UTIL/OUT: distance_map(DistanceMap d_map) StrictWeakOrdering provided by the compare function object.
    Default: + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of the WeightMap's value type of size num_vertices(g) and using the i_map for the index @@ -303,7 +316,7 @@ IN: distance_combine(CombineFunction cmb) WeightMap property map. The result type must be the same type as the distance value type.
    - Default: std::plus<D> with + Default: closed_plus<D> with D=typename property_traits<DistanceMap>::value_type
    Python: Unsupported parameter. @@ -339,12 +352,12 @@ UTIL/OUT: color_map(ColorMap c_map) from the queue. At the end of the algorithm, vertices reachable from the source vertex will have been colored black. All other vertices will still be white. The type ColorMap must be a model of - Read/Write + Read/Write Property Map. A vertex descriptor must be usable as the key type of the map, and the value type of the map must be a model of Color Value.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index map.
    @@ -416,6 +429,8 @@ See example/dijkstra-example.cpp for an example of using Dijkstra's algorithm. +

    See also

    dijkstra_shortest_paths_no_color_map for a version of dijkstra's shortest path that does not use a color map. +

    Notes

    [1] @@ -435,7 +450,7 @@ distance less than infinity.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/dijkstra_shortest_paths_no_color_map.html b/doc/dijkstra_shortest_paths_no_color_map.html new file mode 100644 index 00000000..c08cc57e --- /dev/null +++ b/doc/dijkstra_shortest_paths_no_color_map.html @@ -0,0 +1,398 @@ + + + +Boost Graph Library: Dijkstra's Shortest Paths (No Color Map) + +C++ Boost + +
    + +

    +dijkstra_shortest_paths_no_color_map +

    + +

    +

    +// named parameter version
    +template <typename Graph, typename Param, typename Tag, typename Rest>
    +void dijkstra_shortest_paths_no_color_map
    +  (const Graph& graph,
    +   typename graph_traits<Graph>::vertex_descriptor start_vertex,
    +   const bgl_named_params& params);
    +   
    +// non-named parameter version
    +template <typename Graph, typename DijkstraVisitor, 
    +	  typename PredecessorMap, typename DistanceMap,
    +	  typename WeightMap, typename VertexIndexMap, typename DistanceCompare, typename DistanceWeightCombine, 
    +	  typename DistanceInfinity, typename DistanceZero>
    +void dijkstra_shortest_paths_no_color_map
    +  (const Graph& graph,
    +   typename graph_traits<Graph>::vertex_descriptor start_vertex, 
    +   PredecessorMap predecessor_map, DistanceMap distance_map, WeightMap weight_map, 
    +   VertexIndexMap index_map,
    +   DistanceCompare distance_compare, DistanceWeightCombine distance_weight_combine,
    +   DistanceInfinity distance_infinity, DistanceZero distance_zero);
    +
    +// version that does not initialize the property maps
    +template <typename Graph, typename DijkstraVisitor, 
    +	  typename PredecessorMap, typename DistanceMap,
    +	  typename WeightMap, typename VertexIndexMap, typename DistanceCompare, typename DistanceWeightCombine, 
    +	  typename DistanceInfinity, typename DistanceZero>
    +void dijkstra_shortest_paths_no_color_map_no_init
    +  (const Graph& graph,
    +   typename graph_traits<Graph>::vertex_descriptor start_vertex, 
    +   PredecessorMap predecessor_map, DistanceMap distance_map, WeightMap weight_map, 
    +   VertexIndexMap index_map,
    +   DistanceCompare distance_compare, DistanceWeightCombine distance_weight_combine,
    +   DistanceInfinity distance_infinity, DistanceZero distance_zero);
    +
    + +

    +This algorithm [10,8] solves the single-source +shortest-paths problem on a weighted, directed or undirected graph for +the case where all edge weights are nonnegative. Use the Bellman-Ford +algorithm for the case when some edge weights are negative. Use +breadth-first search instead of Dijkstra's algorithm when all edge +weights are equal to one. For the definition of the shortest-path +problem see Section Shortest-Paths +Algorithms for some background to the shortest-path problem. +

    + +

    + dijkstra_shortest_paths_no_color_map differs from the original dijkstra_shortest_paths algorithm by not using a color map to identify vertices as discovered or undiscovered. Instead, this is done with the distance map: a vertex u such that distance_compare(distance_map[u], distance_infinity) == false is considered to be undiscovered. +

    + +

    +There are two main options for obtaining output from the +dijkstra_shortest_paths_no_color_map() function. If you provide a +distance property map through the distance_map() parameter +then the shortest distance from the start vertex to every other +vertex in the graph will be recorded in the distance map. Also you can +record the shortest paths tree in a predecessor map: for each vertex +u in V, p[u] will be the predecessor of u in +the shortest paths tree (unless p[u] = u, in which case u is +either the source or a vertex unreachable from the source). In +addition to these two options, the user can provide their own +custom-made visitor that takes actions during any of the +algorithm's event points [4].

    + +

    +Dijkstra's algorithm finds all the shortest paths from the source +vertex to every other vertex by iteratively "growing" the set of +vertices S to which it knows the shortest path. At each step of +the algorithm, the next vertex added to S is determined by a +priority queue. The queue contains the vertices in V - S[1] prioritized by their distance label, which is the +length of the shortest path seen so far for each vertex. The vertex +u at the top of the priority queue is then added to S, +and each of its out-edges is relaxed: if the distance to u plus +the weight of the out-edge (u,v) is less than the distance +label for v then the estimated distance for vertex v is +reduced. The algorithm then loops back, processing the next vertex at +the top of the priority queue. The algorithm finishes when the +priority queue is empty. +

    +

    +The following is the pseudo-code for Dijkstra's single-source shortest +paths algorithm. w is the edge weight, d is the distance label, +and p is the predecessor of each vertex which is used to encode +the shortest paths tree. Q is a priority queue that supports the +DECREASE-KEY operation. The visitor event points for the algorithm are +indicated by the labels on the right. +

    + + + + + + +
    +
    +DIJKSTRA(G, s, w)
    +  for each vertex u in V (This loop is not run in dijkstra_shortest_paths_no_color_map_no_init)
    +    d[u] := infinity 
    +    p[u] := u 
    +  end for
    +  d[s] := 0 
    +  INSERT(Q, s)
    +  while (Q != Ø)
    +    u := EXTRACT-MIN(Q)
    +    for each vertex v in Adj[u]
    +      if (w(u,v) + d[u] < d[v])
    +        d[v] := w(u,v) + d[u]
    +        p[v] := u 
    +        DECREASE-KEY(Q, v)
    +      else
    +      	...
    +      if (d[v] was originally infinity) 
    +        INSERT(Q, v)   
    +    end for
    +  end while
    +  return (d, p)
    +
    +
    +
    +
    +initialize vertex u
    +
    +
    +
    +
    +discover vertex s
    +
    +examine vertex u
    +examine edge (u,v)
    +
    +edge (u,v) relaxed
    +
    +
    +
    +edge (u,v) not relaxed
    +
    +discover vertex v
    +finish vertex u
    +
    +
    + +

    Where Defined

    + +boost/graph/dijkstra_shortest_paths_no_color_map.hpp + +

    Parameters

    + +IN: const Graph& graph +
    + The graph object on which the algorithm will be applied. + The type Graph must be a model of + Vertex List Graph + and Incidence Graph.
    +
    + +IN: vertex_descriptor start_vertex +
    + The source vertex. All distance will be calculated from this vertex, + and the shortest paths tree will be rooted at this vertex.
    +
    + +

    Named Parameters

    + +IN: weight_map(WeightMap weight_map) +
    + The weight or ``length'' of each edge in the graph. The weights + must all be non-negative and non-infinite [3]. The algorithm will throw a + negative_edge + exception is one of the edges is negative. + The type WeightMap must be a model of + Readable Property Map. The edge descriptor type of + the graph needs to be usable as the key type for the weight + map. The value type for this map must be + the same as the value type of the distance map.
    + Default: get(edge_weight, graph)
    +
    + +IN: index_map(VertexIndexMap index_map) +
    + This maps each vertex to an integer in the range [0, + num_vertices(graph)). This is necessary for efficient updates of the + heap data structure [61] when an edge is relaxed. + The type + VertexIndexMap must be a model of + Readable Property Map. The value type of the map must be an + integer type. The vertex descriptor type of the graph needs to be + usable as the key type of the map.
    + Default: get(vertex_index, graph). + Note: if you use this default, make sure your graph has + an internal vertex_index property. For example, + adjacenty_list with VertexList=listS does + not have an internal vertex_index property. +
    +
    + +OUT: predecessor_map(PredecessorMap predecessor_map) +
    + The predecessor map records the edges in the minimum spanning + tree. Upon completion of the algorithm, the edges (p[u],u) + for all u in V are in the minimum spanning tree. If p[u] = + u then u is either the source vertex or a vertex that is + not reachable from the source. The PredecessorMap type + must be a Read/Write + Property Map whose key and value types are the same as the vertex + descriptor type of the graph.
    + Default: dummy_property_map
    + + Python: Must be a vertex_vertex_map for the graph.
    +
    + +UTIL/OUT: distance_map(DistanceMap distance_map) +
    + The shortest path weight from the source vertex start_vertex to each + vertex in the graph graph is recorded in this property map. The + shortest path weight is the sum of the edge weights along the + shortest path. The type DistanceMap must be a model of Read/Write + Property Map. The vertex descriptor type of the graph needs to + be usable as the key type of the distance map. + + The value type of the distance map is the element type of a Monoid formed with the distance_weight_combine + function object and the distance_zero object for the identity + element. Also the distance value type must have a + StrictWeakOrdering provided by the distance_compare function + object.
    + Default: + iterator_property_map created from a + std::vector of the WeightMap's value type of size + num_vertices(graph) and using the index_map for the index + map.
    +
    + +IN: distance_compare(CompareFunction distance_compare) +
    + This function is use to compare distances to determine which vertex + is closer to the source vertex. The DistanceCompareFunction type + must be a model of Binary + Predicate and have argument types that match the value type of + the DistanceMap property map.
    + + Default: + std::less<D> with D=typename + property_traits<DistanceMap>::value_type
    +
    + +IN: distance_combine(CombineFunction distance_weight_combine) +
    + This function is used to combine distances to compute the distance + of a path. The DistanceWeightCombineFunction type must be a model of Binary + Function. The first argument type of the binary function must + match the value type of the DistanceMap property map and + the second argument type must match the value type of the + WeightMap property map. The result type must be the same + type as the distance value type.
    + + Default: boost::closed_plus<D> with + D=typename property_traits<DistanceMap>::value_type
    +
    + +IN: distance_inf(D distance_infinity) +
    + The distance_infinity object must be the greatest value of any D object. + That is, distance_compare(d, distance_infinity) == true for any d != distance_infinity. + The type D is the value type of the DistanceMap.
    + Default: std::numeric_limits<D>::max()
    +
    + +IN: distance_zero(D distance_zero) +
    + The distance_zero value must be the identity element for the + Monoid formed by the distance values + and the distance_weight_combine function object. + The type D is the value type of the DistanceMap.
    + Default: D()with + D=typename property_traits<DistanceMap>::value_type
    +
    + +OUT: visitor(DijkstraVisitor v) +
    + Use this to specify actions that you would like to happen + during certain event points within the algorithm. + The type DijkstraVisitor must be a model of the + Dijkstra Visitor concept. + The visitor object is passed by value [2].
    + Default: dijkstra_visitor<null_visitor>
    +
    + + +

    Complexity

    + +

    +The time complexity is O(V log V). + + +

    Visitor Event Points

    + +
      +
    • vis.initialize_vertex(u, g) + is invoked on each vertex in the graph before the start of the + algorithm. +
    • vis.examine_vertex(u, g) + is invoked on a vertex as it is removed from the priority queue + and added to set S. At this point we know that (p[u],u) + is a shortest-paths tree edge so + d[u] = delta(s,u) = d[p[u]] + w(p[u],u). Also, the distances + of the examined vertices is monotonically increasing + d[u1] <= d[u2] <= d[un]. +
    • vis.examine_edge(e, g) + is invoked on each out-edge of a vertex immediately after it has + been added to set S. +
    • vis.edge_relaxed(e, g) + is invoked on edge (u,v) if d[u] + w(u,v) < d[v]. + The edge (u,v) that participated in the last + relaxation for vertex v is an edge in the shortest paths tree. +
    • vis.discover_vertex(v, g) + is invoked on vertex v when the edge + (u,v) is examined and v has not yet been discovered (i.e. its distance was infinity before relaxation was attempted on the edge). This + is also when the vertex is inserted into the priority queue. +
    • vis.edge_not_relaxed(e, g) + is invoked if the edge is not relaxed (see above). +
    • vis.finish_vertex(u, g) + is invoked on a vertex after all of its out edges have + been examined. +
    + +

    Example

    + +

    +See +example/dijkstra-no-color-map-example.cpp for an example of using Dijkstra's algorithm. + +

    See also

    dijkstra_shortest_paths for a version of dijkstra's shortest path that uses a color map. + +

    Notes

    + +

    Based on the documentation for dijkstra_shortest_paths. + +

    [1] +The algorithm used here saves a little space by not putting all V - +S vertices in the priority queue at once, but instead only those +vertices in V - S that are discovered and therefore have a +distance less than infinity. + +

    [2] + Since the visitor parameter is passed by value, if your visitor + contains state then any changes to the state during the algorithm + will be made to a copy of the visitor object, not the visitor object + passed in. Therefore you may want the visitor to hold this state by + pointer or reference. + +

    [3] + The algorithm will not work correctly if any of the edge weights are equal to infinity since the infinite distance value is used to determine if a vertex has been discovered. + +

    [4] + Calls to the visitor events occur in the same order as dijkstra_shortest_paths (i.e. discover_vertex(u) will always be called after examine_vertex(u) for an undiscovered vertex u). However, the vertices of the graph given to dijkstra_shortest_paths_no_color_map will not necessarily be visited in the same order as dijkstra_shortest_paths. + +
    +


    + + +
    Copyright © 2009 +Trustees of Indiana University
    + + + diff --git a/doc/dijkstra_visitor.html b/doc/dijkstra_visitor.html index e6d3e146..80b00af9 100644 --- a/doc/dijkstra_visitor.html +++ b/doc/dijkstra_visitor.html @@ -1,10 +1,10 @@ Boost Graph Library: dijkstra_visitor @@ -111,7 +111,7 @@ and property_writer.
    - @@ -162,7 +162,7 @@ and property_writer.
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/distance_recorder.html b/doc/distance_recorder.html index deaf0b4e..e10e3f57 100644 --- a/doc/distance_recorder.html +++ b/doc/distance_recorder.html @@ -1,10 +1,10 @@ Boost Graph Library: distance_recorder @@ -64,7 +64,7 @@ See the example for bfs_visitor.
    DistanceMap A WritablePropertyMap, +href="../../property_map/doc/WritablePropertyMap.html">WritablePropertyMap, where the key type and the value type are the vertex descriptor type of the graph.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/edge_list.html b/doc/edge_list.html index c1e0f202..39d75942 100644 --- a/doc/edge_list.html +++ b/doc/edge_list.html @@ -1,10 +1,10 @@ Boost Graph Library: Edge List Class @@ -207,7 +207,7 @@ Returns the target vertex of edge e.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/edmonds_karp_max_flow.html b/doc/edmonds_karp_max_flow.html index 923cf447..4747c6c6 100644 --- a/doc/edmonds_karp_max_flow.html +++ b/doc/edmonds_karp_max_flow.html @@ -125,7 +125,7 @@ IN: capacity_map(CapacityEdgeMap cap)
    The edge capacity property map. The type must be a model of a constant Lvalue Property Map. The + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map. The key type of the map must be the graph's edge descriptor type.
    Default: get(edge_capacity, g)
    @@ -134,7 +134,7 @@ OUT: residual_capacity_map(ResidualCapacityEdgeMap res)
    This maps edges to their residual capacity. The type must be a model of a mutable Lvalue Property + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map. The key type of the map must be the graph's edge descriptor type.
    Default: get(edge_residual_capacity, g) @@ -144,7 +144,7 @@ IN: reverse_edge_map(ReverseEdgeMap rev)
    An edge property map that maps every edge (u,v) in the graph to the reverse edge (v,u). The map must be a model of - constant Lvalue + constant Lvalue Property Map. The key type of the map must be the graph's edge descriptor type.
    Default: get(edge_reverse, g) @@ -156,13 +156,13 @@ UTIL: color_map(ColorMap color) breadth-first search stage. At the end of the algorithm, the white vertices define the minimum cut set. The map must be a model of mutable Lvalue Property Map. + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map. The key type of the map should be the graph's vertex descriptor type, and the value type must be a model of ColorValue.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of default_color_type of size num_vertices(g) and using the i_map for the index map. @@ -172,12 +172,12 @@ UTIL: predecessor_map(PredEdgeMap pred)
    Use by the algorithm to store augmenting paths. The map must be a model of mutable Lvalue Property Map. + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map. The key type must be the graph's vertex descriptor type and the value type must be the graph's edge descriptor type.
    Default: an + href="../../property_map/doc/iterator_property_map.html"> iterator_property_map created from a std::vector of edge descriptors of size num_vertices(g) and using the i_map for the index map. @@ -189,7 +189,7 @@ IN: vertex_index_map(VertexIndexMap i_map) [0, num_vertices(g)). This property map is only needed if the default for the color or predecessor map is used. The vertex index map must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The key type of the map must be the graph's vertex descriptor type.
    Default: get(vertex_index, g) @@ -224,7 +224,7 @@ from a file in the DIMACS format and computes the maximum flow.
    Copyright © 2000-2001 -Jeremy Siek, Indiana University (jsiek@osl.iu.edu) +Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/eg1-iso.cpp b/doc/eg1-iso.cpp index 7a82c7e7..7ba5cb24 100644 --- a/doc/eg1-iso.cpp +++ b/doc/eg1-iso.cpp @@ -20,7 +20,7 @@ #include #include //#include "isomorphism-v3.hpp" -#include +#include #include #include #include diff --git a/doc/erdos_renyi_generator.html b/doc/erdos_renyi_generator.html index 6c17bc92..b5adaaf7 100644 --- a/doc/erdos_renyi_generator.html +++ b/doc/erdos_renyi_generator.html @@ -1,14 +1,14 @@ Boost Graph Library: Erdös-Renyi Generator @@ -142,7 +142,7 @@ int main()
    -
    Copyright © 2005 +Copyright © 2005 Doug Gregor, Indiana University ()
    Andrew Lumsdaine, Indiana University () diff --git a/doc/exception.html b/doc/exception.html index f5cbdf28..def19cef 100644 --- a/doc/exception.html +++ b/doc/exception.html @@ -1,10 +1,10 @@ Boost Graph Library: Exceptions diff --git a/doc/faq.html b/doc/faq.html index eeef22e4..6f491484 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -1,10 +1,10 @@ Boost Graph Library: FAQ diff --git a/doc/file_dependency_example.html b/doc/file_dependency_example.html index 1b7ff931..c600b74c 100644 --- a/doc/file_dependency_example.html +++ b/doc/file_dependency_example.html @@ -1,10 +1,10 @@ File Dependency Example @@ -355,7 +355,7 @@ dependency would be flagged as a user error.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/filtered_graph.html b/doc/filtered_graph.html index 296171f7..8f5d1c39 100644 --- a/doc/filtered_graph.html +++ b/doc/filtered_graph.html @@ -1,10 +1,10 @@ Boost Graph Library: Filtered Graph @@ -521,7 +521,7 @@ num_edges(g))) which is assumed in many of the algorithms.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/floyd_warshall_shortest.html b/doc/floyd_warshall_shortest.html index f4a22a28..ab407a6c 100644 --- a/doc/floyd_warshall_shortest.html +++ b/doc/floyd_warshall_shortest.html @@ -101,7 +101,7 @@ matrix will be initialized for the user. IN: weight_map(WeightMap w)
    The weight of length of each edge in the graph. The WeightMap -must be a model of Readable Property +must be a model of Readable Property Map. The edge descriptor type of the graph needs to be usable as the key type for the weight map. The value_type of the weight map must be the type of the @@ -157,7 +157,7 @@ The time complexity is O(V3).
    -
    Copyright © 2002-2004 +Copyright © 2002-2004 Lauren Foutz, Rensselaer Polytechnic Institute
    Scott Hill, Rensselaer Polytechnic Institute diff --git a/doc/fruchterman_reingold.html b/doc/fruchterman_reingold.html index 89b58e62..ed854a9f 100644 --- a/doc/fruchterman_reingold.html +++ b/doc/fruchterman_reingold.html @@ -1,10 +1,10 @@ @@ -96,7 +96,7 @@ IN/OUT: PositionMap position typically be initialized with the vertices at random locations (use random_graph_layout). The type PositionMap must be a model of Lvalue Property + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map such that the vertex descriptor type of Graph is convertible to its key type. Its value type must be a structure with fields x and y, representing the coordinates @@ -197,7 +197,7 @@ IN: vertex_index_map(VertexIndexMap i_map) num_vertices(g)). This is only necessary when no displacement map is provided. The type VertexIndexMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -233,7 +233,7 @@ determined by the cooling schedule.
    -
    Copyright © 2004 +Copyright © 2004 Doug Gregor, Indiana University
    diff --git a/doc/graph_coloring.html b/doc/graph_coloring.html index 26d52ecf..cfeaaef9 100644 --- a/doc/graph_coloring.html +++ b/doc/graph_coloring.html @@ -1,10 +1,10 @@ Graph Coloring Example @@ -177,7 +177,7 @@ namespace boost {
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/graph_concepts.html b/doc/graph_concepts.html index 1291c10b..5d251b5e 100644 --- a/doc/graph_concepts.html +++ b/doc/graph_concepts.html @@ -1,10 +1,10 @@ Boost Graph Concepts @@ -485,7 +485,7 @@ weight[(v,u)] = 3.1
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/graph_theory_review.html b/doc/graph_theory_review.html index 4d5f64ea..8d79b2d3 100644 --- a/doc/graph_theory_review.html +++ b/doc/graph_theory_review.html @@ -1,10 +1,10 @@ Boost Graph Library: Graph Theory Review @@ -582,7 +582,7 @@ which is based on the notion of a preflow introduced by
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/graph_traits.html b/doc/graph_traits.html index e0916b0b..96f443ee 100644 --- a/doc/graph_traits.html +++ b/doc/graph_traits.html @@ -1,10 +1,10 @@ Boost Graph Library: Graph Traits @@ -238,7 +238,7 @@ of vertices in the graph.
    -
    Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
    diff --git a/doc/gursoy_atun_layout.html b/doc/gursoy_atun_layout.html index e90fa196..f73c26af 100644 --- a/doc/gursoy_atun_layout.html +++ b/doc/gursoy_atun_layout.html @@ -1,10 +1,10 @@ Boost Graph Library: Gürsoy-Atun Layout @@ -126,7 +126,7 @@ OUT: PositionMap position
    The property map that stores the position of each vertex. The type PositionMap must be a model of Lvalue Property + href="../../property_map/doc/LvaluePropertyMap.html">Lvalue Property Map such that the vertex descriptor type of Graph is convertible to its key type. Its value type must be the type of a point in the topology. @@ -180,7 +180,7 @@ IN: VertexIndexMap vertex_index_map This maps each vertex to an integer in the range [0, num_vertices(g)). The type VertexIndexMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an integer type. The vertex descriptor type of the graph needs to be usable as the key type of the map.
    @@ -197,7 +197,7 @@ IN: EdgeWeightMap weight num_vertices(g)). This is only necessary when no displacement map is provided. The type EdgeWeightMap must be a model of Readable Property + href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map. The value type of the map must be an floating-point type compatible with double. The edge descriptor type of the graph needs to be usable as the key type of the map. When this map diff --git a/doc/history.html b/doc/history.html index 3d9ba9e8..5c210a25 100644 --- a/doc/history.html +++ b/doc/history.html @@ -1,10 +1,10 @@ Boost Graph Library: History @@ -76,6 +76,12 @@ September 27, 2000.

    Changes by version

      +
    • Version 1.35.0
      New algorithms and components + +
    • +
    • Version 1.35.0
      New algorithms and components
      • kolmogorov_max_flow, from Stephan Diederich as part of the 2006 Google Summer of Code.
      • @@ -188,7 +194,7 @@ September 27, 2000.
        -
        Copyright © 2000-2001 +Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
        diff --git a/doc/howard_cycle_ratio.html b/doc/howard_cycle_ratio.html index 76a64983..bccd55f7 100644 --- a/doc/howard_cycle_ratio.html +++ b/doc/howard_cycle_ratio.html @@ -9,13 +9,13 @@