[boost-doc-zh commit] r228 - 转换至1.38.0,第10次,包含以下库:

  • From: codesite-noreply@xxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Mon, 30 Mar 2009 15:31:21 +0000

Author: alai04
Date: Mon Mar 30 07:58:04 2009
New Revision: 228

Added:
   trunk/libs/graph/doc/TSPTourVisitor.html
   trunk/libs/graph/doc/edmonds_karp_max_flow.html
   trunk/libs/graph/doc/metric_tsp_approx.html
   trunk/libs/graph/doc/r_c_shortest_paths.html
   trunk/libs/graph/doc/tsp_tour_len_visitor.html
   trunk/libs/graph/doc/tsp_tour_visitor.html
Removed:
   trunk/libs/graph/doc/edmunds_karp_max_flow.html
Modified:
   trunk/libs/filesystem/doc/portability_guide.htm
   trunk/libs/graph/doc/AStarHeuristic.html
   trunk/libs/graph/doc/AStarVisitor.html
   trunk/libs/graph/doc/AddEdgeVisitor.html
   trunk/libs/graph/doc/AdjacencyGraph.html
   trunk/libs/graph/doc/AdjacencyMatrix.html
   trunk/libs/graph/doc/BFSVisitor.html
   trunk/libs/graph/doc/BasicMatrix.html
   trunk/libs/graph/doc/BellmanFordVisitor.html
   trunk/libs/graph/doc/BidirectionalGraph.html
   trunk/libs/graph/doc/Buffer.html
   trunk/libs/graph/doc/ColorValue.html
   trunk/libs/graph/doc/DFSVisitor.html
   trunk/libs/graph/doc/DijkstraVisitor.html
   trunk/libs/graph/doc/EdgeListGraph.html
   trunk/libs/graph/doc/EdgeMutableGraph.html
   trunk/libs/graph/doc/EventVisitor.html
   trunk/libs/graph/doc/EventVisitorList.html
   trunk/libs/graph/doc/Graph.html
   trunk/libs/graph/doc/IncidenceGraph.html
   trunk/libs/graph/doc/IteratorConstructibleGraph.html
   trunk/libs/graph/doc/Monoid.html
   trunk/libs/graph/doc/MutableGraph.html
   trunk/libs/graph/doc/MutablePropertyGraph.html
   trunk/libs/graph/doc/PlanarEmbedding.html
   trunk/libs/graph/doc/PlanarFaceVisitor.html
   trunk/libs/graph/doc/PropertyGraph.html
   trunk/libs/graph/doc/PropertyTag.html
   trunk/libs/graph/doc/VertexAndEdgeListGraph.html
   trunk/libs/graph/doc/VertexListGraph.html
   trunk/libs/graph/doc/VertexMutableGraph.html
   trunk/libs/graph/doc/acknowledgements.html
   trunk/libs/graph/doc/adjacency_iterator.html
   trunk/libs/graph/doc/adjacency_list.html
   trunk/libs/graph/doc/adjacency_list_traits.html
   trunk/libs/graph/doc/adjacency_matrix.html
   trunk/libs/graph/doc/astar_heuristic.html
   trunk/libs/graph/doc/astar_search.html
   trunk/libs/graph/doc/astar_visitor.html
   trunk/libs/graph/doc/bandwidth.html
   trunk/libs/graph/doc/bc_clustering.html
   trunk/libs/graph/doc/bellman_ford_shortest.html
   trunk/libs/graph/doc/bellman_visitor.html
   trunk/libs/graph/doc/betweenness_centrality.html
   trunk/libs/graph/doc/bfs_visitor.html
   trunk/libs/graph/doc/bgl_named_params.html
   trunk/libs/graph/doc/bibliography.html
   trunk/libs/graph/doc/biconnected_components.html
   trunk/libs/graph/doc/boyer_myrvold.html
   trunk/libs/graph/doc/breadth_first_search.html
   trunk/libs/graph/doc/breadth_first_visit.html
   trunk/libs/graph/doc/bundles.html
   trunk/libs/graph/doc/challenge.html
   trunk/libs/graph/doc/circle_layout.html
   trunk/libs/graph/doc/compressed_sparse_row.html
   trunk/libs/graph/doc/connected_components.html
   trunk/libs/graph/doc/constructing_algorithms.html
   trunk/libs/graph/doc/copy_graph.html
   trunk/libs/graph/doc/cuthill_mckee_ordering.html
   trunk/libs/graph/doc/dag_shortest_paths.html
   trunk/libs/graph/doc/depth_first_search.html
   trunk/libs/graph/doc/depth_first_visit.html
   trunk/libs/graph/doc/dfs_visitor.html
   trunk/libs/graph/doc/dijkstra_shortest_paths.html
   trunk/libs/graph/doc/dijkstra_visitor.html
   trunk/libs/graph/doc/distance_recorder.html
   trunk/libs/graph/doc/edge_list.html
   trunk/libs/graph/doc/erdos_renyi_generator.html
   trunk/libs/graph/doc/exception.html
   trunk/libs/graph/doc/faq.html
   trunk/libs/graph/doc/file_dependency_example.html
   trunk/libs/graph/doc/filtered_graph.html
   trunk/libs/graph/doc/floyd_warshall_shortest.html
   trunk/libs/graph/doc/fruchterman_reingold.html
   trunk/libs/graph/doc/graph_coloring.html
   trunk/libs/graph/doc/graph_concepts.html
   trunk/libs/graph/doc/graph_traits.html
   trunk/libs/graph/doc/gursoy_atun_layout.html
   trunk/libs/graph/doc/howard_cycle_ratio.html
   trunk/libs/graph/doc/incident.html
   trunk/libs/graph/doc/incremental_components.html
   trunk/libs/graph/doc/inv_adjacency_iterator.html
   trunk/libs/graph/doc/is_kuratowski_subgraph.html
   trunk/libs/graph/doc/is_straight_line_drawing.html
   trunk/libs/graph/doc/isomorphism.html
   trunk/libs/graph/doc/johnson_all_pairs_shortest.html
   trunk/libs/graph/doc/kamada_kawai_spring_layout.html
   trunk/libs/graph/doc/kevin_bacon.html
   trunk/libs/graph/doc/king_ordering.html
   trunk/libs/graph/doc/known_problems.html
   trunk/libs/graph/doc/kolmogorov_max_flow.html
   trunk/libs/graph/doc/kruskal_min_spanning_tree.html
   trunk/libs/graph/doc/layout_tolerance.html
   trunk/libs/graph/doc/leda_conversion.html
   trunk/libs/graph/doc/lengauer_tarjan_dominator.htm
   trunk/libs/graph/doc/make_biconnected_planar.html
   trunk/libs/graph/doc/make_connected.html
   trunk/libs/graph/doc/make_maximal_planar.html
   trunk/libs/graph/doc/maximum_matching.html
   trunk/libs/graph/doc/minimum_degree_ordering.html
   trunk/libs/graph/doc/null_visitor.html
   trunk/libs/graph/doc/opposite.html
   trunk/libs/graph/doc/planar_canonical_ordering.html
   trunk/libs/graph/doc/planar_face_traversal.html
   trunk/libs/graph/doc/planar_graphs.html
   trunk/libs/graph/doc/plod_generator.html
   trunk/libs/graph/doc/predecessor_recorder.html
   trunk/libs/graph/doc/prim_minimum_spanning_tree.html
   trunk/libs/graph/doc/profile.htm
   trunk/libs/graph/doc/property.html
   trunk/libs/graph/doc/property_map.html
   trunk/libs/graph/doc/property_writer.html
   trunk/libs/graph/doc/publications.html
   trunk/libs/graph/doc/push_relabel_max_flow.html
   trunk/libs/graph/doc/python.html
   trunk/libs/graph/doc/random.html
   trunk/libs/graph/doc/random_layout.html
   trunk/libs/graph/doc/read_dimacs.html
   trunk/libs/graph/doc/read_graphml.html
   trunk/libs/graph/doc/read_graphviz.html
   trunk/libs/graph/doc/reverse_graph.html
   trunk/libs/graph/doc/sequential_vertex_coloring.html
   trunk/libs/graph/doc/sloan_ordering.htm
   trunk/libs/graph/doc/sloan_start_end_vertices.htm
   trunk/libs/graph/doc/small_world_generator.html
   trunk/libs/graph/doc/sorted_erdos_renyi_gen.html
   trunk/libs/graph/doc/sparse_matrix_ordering.html
   trunk/libs/graph/doc/stanford_graph.html
   trunk/libs/graph/doc/straight_line_drawing.html
   trunk/libs/graph/doc/strong_components.html
   trunk/libs/graph/doc/subgraph.html
   trunk/libs/graph/doc/table_of_contents.html
   trunk/libs/graph/doc/time_stamper.html
   trunk/libs/graph/doc/topological_sort.html
   trunk/libs/graph/doc/transitive_closure.html
   trunk/libs/graph/doc/transpose_graph.html
   trunk/libs/graph/doc/trouble_shooting.html
   trunk/libs/graph/doc/undirected_dfs.html
   trunk/libs/graph/doc/users.html
   trunk/libs/graph/doc/using_adjacency_list.html
   trunk/libs/graph/doc/using_property_maps.html
   trunk/libs/graph/doc/visitor_concepts.html
   trunk/libs/graph/doc/wavefront.htm
   trunk/libs/graph/doc/write-graphviz.html
   trunk/libs/graph/doc/write_dimacs.html
   trunk/libs/graph/doc/write_graphml.html

Log:
转换至1.38.0,第10次,包含以下库:
filesystem
format
function_types
functional
fusion
gil
graph

Modified: trunk/libs/filesystem/doc/portability_guide.htm
==============================================================================
--- trunk/libs/filesystem/doc/portability_guide.htm     (original)
+++ trunk/libs/filesystem/doc/portability_guide.htm     Mon Mar 30 07:58:04 2009
@@ -5,7 +5,6 @@
 <meta name="ProgId" content="FrontPage.Editor.Document">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Portability Guide</title></head>
-
 <body bgcolor="#ffffff">

 <h1>
@@ -44,35 +43,38 @@
     <td align="center"><b>说明</b></td>
   </tr>
   <tr>
- <td align="left" valign="top"><code><a name="portable_posix_name">portable_posix_name</a></code></td> - <td>对于只含有在 POSIX 中定义的<i> Portable Filename Character Set</i> 规则中指定的字符的名字,返回 <i>true</i> (<a href="http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html";>www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html</a>).<br>只 允许字符 0-9, a-z, A-Z, '.', '_', 和 '-'.<p><b>用于:</b> + <td align="left" valign="top"><code></code><code><a name="portable_posix_name">portable_posix_name</a>(const
+std::string&amp;<i> name</i>)</code><code></code></td>
+ <td><b>返回:</b> 对于只含有在 POSIX 中定义的<i> Portable Filename Character Set</i> 规则中指定的字符的名字,返回 <i>true</i> (<a href="http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html";>www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html</a>).<br>只 允许字符 0-9, a-z, A-Z, '.', '_', 和 '-'.<p><b>用于:</b>
     必须可以移植到任何 POSIX 系统上的应用程序。</p></td>
   </tr>
   <tr>
- <td align="left" valign="top"><code><a name="windows_name">windows_name</a></code></td> - <td>对于只含有由 Windows 平台 SDK 认为有效的字符的,返回 <i>true</i>,不管何种文件系统。允许除了 0x0-0x1F, '&lt;', '&gt;', ':', '"', '/', '\', 和 '|' 以外的任意字符。此 外,名字必须不以空格或句点结束。<p> + <td align="left" valign="top"><code></code><code><a name="windows_name">windows_name</a>(const std::string&amp;<i>
+name</i>)</code><code></code></td>
+ <td><b>返回:</b> 对于只含有由 Windows 平台 SDK 认为有效的字符的,返回 <i>true</i>,不管何种文件系统。允许除了 0x0-0x1F, '&lt;', '&gt;', ':', '"', '/', '\', 和 '|' 以外的任意字符。此 外,名字必须不以空格或句点结束。<p>
     <b>用于:</b> 必须可以移植到 Windows 的应用程序。</p>
<p><b>注:</b> 保留的设备名不能作为文件名,但不能被检测出来,因为它们仍 是有效的路径。即:CON, PRN, AUX, CLOCK$, NUL, COM[1-9], LPT[1-9], 及上述名字 加扩展名(如 NUL.tx7)。</p></td>
   </tr>
   <tr>
- <td align="left" valign="top"><code><a name="portable_name">portable_name</a></code></td> - <td><code>windows_name(name) &amp;&amp; portable_posix_name(name)</code>, - 且第一个字符不是句点或连字符。<p><b>用于:</b> 必须移植到多个现代操作系 统,大的和小的,以及一些旧有O/S的应用程序。</p></td> + <td align="left" valign="top"><code></code><code><a name="portable_name">portable_name</a>(const std::string&amp;<i>
+name</i>)</code><code></code></td>
+ <td><b>返回: </b><code>windows_name(name) &amp;&amp; portable_posix_name(name)</code><code> &amp;&amp; (name</code> 为 <code>"."</code> 或 <code>".."</code>, + 且第一个字符不是句点或连字符)。<p><b>用于:</b> 必须移植到多个现代操作系 统,大的和小的,以及一些旧有O/S的应用程序。</p></td>
   </tr>
   <tr>
-    <td align="left" valign="top"><code><a name="portable_directory_name">
-    portable_directory_name</a></code></td>
- <td><code>portable_name(name)</code>, 且没有句点。<p><b>用于:</b> 必须 移植到多个平台,包括 OpenVMS 的应用程序。</p></td> + <td align="left" valign="top"><code></code><code><a name="portable_directory_name">portable_directory_name</a>(const
+std::string&amp;<i> name</i>)</code><code></code></td>
+ <td><b>返回: </b><code>portable_name(name)</code><code> &amp;&amp; (name</code> 为 <code>"."</code> 或 <code>".."</code> 或 不包含句点 <code>)</code>。<p><b>用于:</b> 必须移植到多个平台,包括 OpenVMS 的应用程 序。</p></td>
   </tr>
   <tr>
-    <td align="left" valign="top"><code><a name="portable_file_name">
-    portable_file_name</a></code></td>
- <td><code>portable_name(name)</code>, 除了允许单个句点并后跟1-3个字符。 <p><b>用于:</b> + <td align="left" valign="top"><code></code><code><a name="portable_file_name">portable_file_name</a>(const
+std::string&amp;<i> name</i>)</code><code></code></td>
+ <td><b>返回:</b><code>&nbsp;portable_name(name)</code>, 除了允许单个句 点并后跟1-3个字符。<p><b>用于:</b> 必须移植到多个平台,包括 OpenVMS 和其它具有"文件扩展名"概念但长度有限的 系统的应用程序。</p></td>
   </tr>
   <tr>
- <td align="left" valign="top"><code><a name="native">native</a></code></td>
-    <td>实现定义的 name_check. 对于操作系统视为有效的所有名字,返回 <i>
+ <td align="left" valign="top"><code><a name="native">native</a>(const std::string&amp;<i> name</i>)</code></td> + <td><b>返回: </b>实现定义的 name_check. 对于操作系统视为有效的所有名 字,返回 <i> true</i>.<p><b>注:</b> 可能会对于在所有情形下都被操作系统视为无效的名字 返回 <i>true</i> (特别是在那些支持多种文件系统的操作系统上)。</p></td>
   </tr>
 </tbody></table>
@@ -135,8 +137,8 @@
 </tbody></table>

 <hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 June, 2007<!--webbot bot="Timestamp" endspan i-checksum="19946" --></p> +<p>Revised <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->11
+January, 2009</p>

 <p>(c) Copyright Beman Dawes, 2002, 2003</p>
 <p> Use, modification, and distribution are subject to the Boost Software

Modified: trunk/libs/graph/doc/AStarHeuristic.html
==============================================================================
--- trunk/libs/graph/doc/AStarHeuristic.html    (original)
+++ trunk/libs/graph/doc/AStarHeuristic.html    Mon Mar 30 07:58:04 2009
@@ -1,138 +1,138 @@
-<HTML>
-<!--
-  -- Copyright (c) 2004 Kris Beevers
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: AStarHeuristic</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1>AStar Heuristic Concept</H1>
-
-This concept defines the interface for the heuristic function of an A*
-search, which is responsible for estimating the remaining cost from
-some vertex to a goal.  The user can create a class that matches this
-interface, and then pass objects of the class into <a
-href="./astar_search.html"><tt>astar_search()</tt></a> to guide the
-order of vertex examination of the search.  The heuristic instance
-must incorporate any necessary information about goal vertices in the
-graph.
-
-For further discussion of the use of heuristics in an A* search, see
-the documentation of <a
-href="./astar_search.html">astar_search()</a>.
-
-<h3>Refinement of</h3>
-
-<a href="http://www.sgi.com/tech/stl/UnaryFunction.html";>Unary
-Function</a> (must take a single argument -- a graph vertex -- and
-return a cost value) and <a
-href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a heuristic should be a lightweight operation).
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>H</tt></TD>
-<TD>A type that is a model of AStar Heuristic.</TD>
-</TR>
-
-<TR>
-<TD><tt>h</tt></TD>
-<TD>An object of type <tt>H</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>u</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>CostType</tt></TD>
-<TD>A type that can be used with the <tt>compare</tt> and
-<tt>combine</tt> functions passed to A*.</TD>
-</TR>
-
-<TR>
-<TD><tt>c</tt></TD>
-<TD>An object of type <tt>CostType</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Call Heuristic</td>
-<td><tt>CostType c = h(u)</tt></td>
-<td><tt>CostType</tt></td>
-<td>
-Called for the target of every out edge of a vertex being examined.
-</td>
-</tr>
-
-</table>
-
-<h3>Models</h3>
-
-<ul>
- <li><a href="./astar_heuristic.html"><tt>astar_heuristic</tt></a>
-</ul>
-
-<h3>Concept Checking Class</h3>
-
-<pre>
-  template &lt;class Heuristic, class Graph&gt;
-  struct AStarHeuristicConcept {
-    void constraints()
-    {
- function_requires&lt; CopyConstructibleConcept&lt;Heuristic&gt; &gt;();
-      h(u);
-    }
-    Heuristic h;
-    typename graph_traits&lt;Graph&gt;::vertex_descriptor u;
-  };
-</pre>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2004</TD><TD>
-<A HREF="http://www.cs.rpi.edu/~beevek/";>Kristopher Beevers</A>,
-Rensselaer Polytechnic Institute (<A
-HREF="mailto:beevek@xxxxxxxxxx";>beevek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) 2004 Kris Beevers
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: AStarHeuristic</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1>AStar Heuristic Concept</H1>
+
+This concept defines the interface for the heuristic function of an A*
+search, which is responsible for estimating the remaining cost from
+some vertex to a goal.  The user can create a class that matches this
+interface, and then pass objects of the class into <a
+href="./astar_search.html"><tt>astar_search()</tt></a> to guide the
+order of vertex examination of the search.  The heuristic instance
+must incorporate any necessary information about goal vertices in the
+graph.
+
+For further discussion of the use of heuristics in an A* search, see
+the documentation of <a
+href="./astar_search.html">astar_search()</a>.
+
+<h3>Refinement of</h3>
+
+<a href="http://www.sgi.com/tech/stl/UnaryFunction.html";>Unary
+Function</a> (must take a single argument -- a graph vertex -- and
+return a cost value) and <a
+href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a heuristic should be a lightweight operation).
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>H</tt></TD>
+<TD>A type that is a model of AStar Heuristic.</TD>
+</TR>
+
+<TR>
+<TD><tt>h</tt></TD>
+<TD>An object of type <tt>H</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>u</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>CostType</tt></TD>
+<TD>A type that can be used with the <tt>compare</tt> and
+<tt>combine</tt> functions passed to A*.</TD>
+</TR>
+
+<TR>
+<TD><tt>c</tt></TD>
+<TD>An object of type <tt>CostType</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Call Heuristic</td>
+<td><tt>CostType c = h(u)</tt></td>
+<td><tt>CostType</tt></td>
+<td>
+Called for the target of every out edge of a vertex being examined.
+</td>
+</tr>
+
+</table>
+
+<h3>Models</h3>
+
+<ul>
+ <li><a href="./astar_heuristic.html"><tt>astar_heuristic</tt></a>
+</ul>
+
+<h3>Concept Checking Class</h3>
+
+<pre>
+  template &lt;class Heuristic, class Graph&gt;
+  struct AStarHeuristicConcept {
+    void constraints()
+    {
+ function_requires&lt; CopyConstructibleConcept&lt;Heuristic&gt; &gt;();
+      h(u);
+    }
+    Heuristic h;
+    typename graph_traits&lt;Graph&gt;::vertex_descriptor u;
+  };
+</pre>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2004</TD><TD>
+<A HREF="http://www.cs.rpi.edu/~beevek/";>Kristopher Beevers</A>,
+Rensselaer Polytechnic Institute (<A
+HREF="mailto:beevek@xxxxxxxxxx";>beevek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/AStarVisitor.html
==============================================================================
--- trunk/libs/graph/doc/AStarVisitor.html      (original)
+++ trunk/libs/graph/doc/AStarVisitor.html      Mon Mar 30 07:58:04 2009
@@ -1,213 +1,213 @@
-<HTML>
-<!--
-  -- Copyright (c) 2004 Kris Beevers
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: AStarVisitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1>AStar Visitor Concept</H1>
-
-This concept defines the visitor interface for <a
-href="./astar_search.html"><tt>astar_search()</tt></a>.  Users can
-define a class with the AStar Visitor interface and pass an object of
-the class to <tt>astar_search()</tt>, thereby augmenting the actions
-taken during the graph search.
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of AStar Visitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>s,u,v</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>d</tt></TD>
-<TD>An object of type <tt>DistanceMap</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>WeightMap</tt></TD>
-<TD>A type that is a model of <a
-href="../../property_map/ReadablePropertyMap.html">Readable Property
-Map</a>.</TD>
-</TR>
-
-<TR>
-<TD><tt>w</tt></TD>
-<TD>An object of type <tt>WeightMap</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Initialize Vertex</td>
-<td><tt>vis.initialize_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on each vertex of the graph when it is first
-initialized (i.e., when its property maps are initialized).
-</td>
-</tr>
-
-<tr>
-<td>Discover Vertex</td>
-<td><tt>vis.discover_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked when a vertex is first discovered and is added to the
-OPEN list.
-</td>
-</tr>
-
-<tr>
-<td>Examine Vertex</td>
-<td><tt>vis.examine_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on a vertex as it is popped from the queue (i.e. it
-has the lowest cost on the OPEN list). This happens immediately before
-<tt>examine_edge()</tt> is invoked on each of the out-edges of vertex
-<tt>u</tt>.
-</td>
-</tr>
-
-<tr>
-<td>Examine Edge</td>
-<td><tt>vis.examine_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every out-edge of each vertex after it is
-examined.
-</td>
-</tr>
-
-
-<tr>
-<td>Edge Relaxed</td>
-<td><tt>vis.edge_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if the following condition holds then the edge is
-relaxed (the distance of its target vertex is reduced) and this method
-is invoked:
-<blockquote>
-<pre>
-tie(u, s) = incident(e, g);
-D d_u = get(d, u), d_v = get(d, s);
-W w_e = get(w, e);
-assert(compare(combine(d_u, w_e), d_s));
-</pre>
-</blockquote>
-</td>
-</tr>
-
-<tr>
-<td>Edge Not Relaxed</td>
-<td><tt>vis.edge_not_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if an edge is not relaxed (see above), then this
-method is invoked.
-</td>
-</tr>
-
-<tr>
-<td>Black Target</td>
-<td><tt>vis.black_target(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked when a vertex that is on the CLOSED list is
-``rediscovered'' via a more efficient path, and is re-added to the
-OPEN list.
-</td>
-</tr>
-
-<tr>
-<td>Finish Vertex</td>
-<td><tt>vis.finish_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on a vertex when it is added to the CLOSED list, which
-happens after all of its out edges have been examined.
-</td>
-</tr>
-
-</table>
-
-<h3>Models</h3>
-
-<ul>
- <li><a href="./astar_visitor.html"><tt>astar_visitor</tt></a>
-</ul>
-
-
-<h3>See also</h3>
-
-<a href="./visitor_concepts.html">Visitor concepts</a>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2004</TD><TD>
-<A HREF="http://www.cs.rpi.edu/~beevek/";>Kristopher Beevers</A>,
-Rensselaer Polytechnic Institute (<A
-HREF="mailto:beevek@xxxxxxxxxx";>beevek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) 2004 Kris Beevers
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: AStarVisitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1>AStar Visitor Concept</H1>
+
+This concept defines the visitor interface for <a
+href="./astar_search.html"><tt>astar_search()</tt></a>.  Users can
+define a class with the AStar Visitor interface and pass an object of
+the class to <tt>astar_search()</tt>, thereby augmenting the actions
+taken during the graph search.
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of AStar Visitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>s,u,v</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>d</tt></TD>
+<TD>An object of type <tt>DistanceMap</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>WeightMap</tt></TD>
+<TD>A type that is a model of <a
+href="../../property_map/ReadablePropertyMap.html">Readable Property
+Map</a>.</TD>
+</TR>
+
+<TR>
+<TD><tt>w</tt></TD>
+<TD>An object of type <tt>WeightMap</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Initialize Vertex</td>
+<td><tt>vis.initialize_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on each vertex of the graph when it is first
+initialized (i.e., when its property maps are initialized).
+</td>
+</tr>
+
+<tr>
+<td>Discover Vertex</td>
+<td><tt>vis.discover_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked when a vertex is first discovered and is added to the
+OPEN list.
+</td>
+</tr>
+
+<tr>
+<td>Examine Vertex</td>
+<td><tt>vis.examine_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on a vertex as it is popped from the queue (i.e. it
+has the lowest cost on the OPEN list). This happens immediately before
+<tt>examine_edge()</tt> is invoked on each of the out-edges of vertex
+<tt>u</tt>.
+</td>
+</tr>
+
+<tr>
+<td>Examine Edge</td>
+<td><tt>vis.examine_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every out-edge of each vertex after it is
+examined.
+</td>
+</tr>
+
+
+<tr>
+<td>Edge Relaxed</td>
+<td><tt>vis.edge_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if the following condition holds then the edge is
+relaxed (the distance of its target vertex is reduced) and this method
+is invoked:
+<blockquote>
+<pre>
+tie(u, s) = incident(e, g);
+D d_u = get(d, u), d_v = get(d, s);
+W w_e = get(w, e);
+assert(compare(combine(d_u, w_e), d_s));
+</pre>
+</blockquote>
+</td>
+</tr>
+
+<tr>
+<td>Edge Not Relaxed</td>
+<td><tt>vis.edge_not_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if an edge is not relaxed (see above), then this
+method is invoked.
+</td>
+</tr>
+
+<tr>
+<td>Black Target</td>
+<td><tt>vis.black_target(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked when a vertex that is on the CLOSED list is
+``rediscovered'' via a more efficient path, and is re-added to the
+OPEN list.
+</td>
+</tr>
+
+<tr>
+<td>Finish Vertex</td>
+<td><tt>vis.finish_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on a vertex when it is added to the CLOSED list, which
+happens after all of its out edges have been examined.
+</td>
+</tr>
+
+</table>
+
+<h3>Models</h3>
+
+<ul>
+ <li><a href="./astar_visitor.html"><tt>astar_visitor</tt></a>
+</ul>
+
+
+<h3>See also</h3>
+
+<a href="./visitor_concepts.html">Visitor concepts</a>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2004</TD><TD>
+<A HREF="http://www.cs.rpi.edu/~beevek/";>Kristopher Beevers</A>,
+Rensselaer Polytechnic Institute (<A
+HREF="mailto:beevek@xxxxxxxxxx";>beevek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/AddEdgeVisitor.html
==============================================================================
--- trunk/libs/graph/doc/AddEdgeVisitor.html    (original)
+++ trunk/libs/graph/doc/AddEdgeVisitor.html    Mon Mar 30 07:58:04 2009
@@ -1,130 +1,130 @@
-<html>
-<head>
-<!-- Copyright 2007 Aaron Windsor
-  --
-  -- Distributed under 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)
-  --
-  -->
-<title>AddEdgeVisitor Concept</title>
-</head>
-<body alink="#ff0000"
-      bgcolor="#ffffff"
-      link="#0000ee"
-      text="#000000"
-      vlink="#551a8b">
-
-<img src="../../../boost.png" alt="C++ Boost" height="86" width="277">
-
-<br clear="">
-
-<h1>AddEdgeVisitor Concept</h1>
-
-The AddEdgeVisitor concept exists to allow for some indirection in algorithms -that modify graphs by adding edges. In such algorithms, it may be convenient
-to perform additional operations (such as updating an edge index map) at
-points in the algorithm where an edge addition occurs. Replacing calls to
-to <tt>add_edge</tt> with calls to <tt>AddEdgeVisitor::visit_vertex_pair</tt>
-allows for such operations to be defined independently from the algorithm.
-
-<h3>Notation</h3>
-
-<table>
-<tbody>
-
-<tr>
-<td> <tt>Visitor</tt> </td>
-<td> is a type that models the AddEdgeVisitor concept </td>
-</tr>
-
-<tr>
-<td> <tt>vis</tt> </td>
-<td> is an object of type Visitor </td>
-</tr>
-
-<tr>
-<td> <tt>Graph</tt> </td>
-<td> is the type of a graph </td>
-</tr>
-
-<tr>
-<td> <tt>u,v</tt> </td>
-<td> are objects of type <tt>graph_traits&lt;Graph&gt;::vertex_descriptor</tt>
-</td>
-</tr>
-
-<tr>
-<td> <tt>e</tt> </td>
-<td> is an object of type <tt>graph_traits&lt;Graph&gt;::edge_descriptor</tt>
-</td>
-</tr>
-
-<tr>
-<td> <tt>v</tt> </td>
-<td> is an object of type <tt>graph_traits&lt;Graph&gt;::vertex_descriptor</tt>
-</td>
-
-</tr><tr>
-<td>
-
-</td></tr></tbody></table>
-
-
-<h3>Associated Types</h3>
-
-None
-
-<h3>Valid Expressions</h3>
-
-<p>
-
-<table border="1">
-
-<tbody><tr><th>Name</th><th>Expression</th><th>Return Type</th>
-<th>Description</th>
-
-</tr><tr>
-<td> Add an Edge </td>
-<td> <tt>vis.visit_vertex_pair(u, v, g)</tt>  </td>
-<td> <tt>void</tt></td>
-<td> Invoked every time an edge between vertices <tt>u</tt> and <tt>v</tt>
-     should be added to the graph <tt>g</tt>.
-</td></tr>
-
-</tbody></table>
-
-</p><h3>Models</h3>
-
-Two models of this concept are defined in the file
-<a href="../../../boost/graph/planar_detail/add_edge_visitors.hpp">
-<tt>add_edge_visitors.hpp</tt></a>:
-
-<ul>
-<li><tt>default_add_edge_visitor</tt>: The constructor of this class takes
-no arguments.<tt>visit_vertex_pair(u, v, g)</tt> is just a dispatch to
-<tt>add_edge(u, v, g)</tt>.
-<li><tt>edge_index_update_visitor</tt>: The constructor of this class takes
-two arguments: the first, an EdgeIndexMap,
-is a <a href="../../property_map/ReadWritePropertyMap.html">
-ReadWritePropertyMap</a> that maps each edge in the associated graph
-<tt>g</tt> to a distinct integer in the range <tt>[0, num_edges(g))</tt>.
-The second argument is the number of edges in the underlying graph, which
-serves as the "next available index" counter within the visitor.
-For example, in the case the graph used has an initialized interior
-edge index, the <tt>edge_index_update_visitor</tt> constructor should be
-called with <tt>get(edge_index, g)</tt> as the edge index and
-<tt>num_edges(g)</tt> as the next available index. When
-<tt>visit_vertex_pair(u, v, g)</tt> is called, the
-<tt>edge_index_update_visitor</tt> will add the edge <i>(u,v)</i> to the graph
-and update the edge index for the newly created edge.
-</ul>
-
-<p>
-
-<br>
-</p><hr>
-Copyright   2007 Aaron Windsor (<a href="mailto:aaron.windsor@xxxxxxxxx";>
-aaron.windsor@xxxxxxxxx</a>)
-
+<html>
+<head>
+<!-- Copyright 2007 Aaron Windsor
+  --
+  -- Distributed under 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)
+  --
+  -->
+<title>AddEdgeVisitor Concept</title>
+</head>
+<body alink="#ff0000"
+      bgcolor="#ffffff"
+      link="#0000ee"
+      text="#000000"
+      vlink="#551a8b">
+
+<img src="../../../boost.png" alt="C++ Boost" height="86" width="277">
+
+<br clear="">
+
+<h1>AddEdgeVisitor Concept</h1>
+
+The AddEdgeVisitor concept exists to allow for some indirection in algorithms +that modify graphs by adding edges. In such algorithms, it may be convenient
+to perform additional operations (such as updating an edge index map) at
+points in the algorithm where an edge addition occurs. Replacing calls to
+to <tt>add_edge</tt> with calls to <tt>AddEdgeVisitor::visit_vertex_pair</tt>
+allows for such operations to be defined independently from the algorithm.
+
+<h3>Notation</h3>
+
+<table>
+<tbody>
+
+<tr>
+<td> <tt>Visitor</tt> </td>
+<td> is a type that models the AddEdgeVisitor concept </td>
+</tr>
+
+<tr>
+<td> <tt>vis</tt> </td>
+<td> is an object of type Visitor </td>
+</tr>
+
+<tr>
+<td> <tt>Graph</tt> </td>
+<td> is the type of a graph </td>
+</tr>
+
+<tr>
+<td> <tt>u,v</tt> </td>
+<td> are objects of type <tt>graph_traits&lt;Graph&gt;::vertex_descriptor</tt>
+</td>
+</tr>
+
+<tr>
+<td> <tt>e</tt> </td>
+<td> is an object of type <tt>graph_traits&lt;Graph&gt;::edge_descriptor</tt>
+</td>
+</tr>
+
+<tr>
+<td> <tt>v</tt> </td>
+<td> is an object of type <tt>graph_traits&lt;Graph&gt;::vertex_descriptor</tt>
+</td>
+
+</tr><tr>
+<td>
+
+</td></tr></tbody></table>
+
+
+<h3>Associated Types</h3>
+
+None
+
+<h3>Valid Expressions</h3>
+
+<p>
+
+<table border="1">
+
+<tbody><tr><th>Name</th><th>Expression</th><th>Return Type</th>
+<th>Description</th>
+
+</tr><tr>
+<td> Add an Edge </td>
+<td> <tt>vis.visit_vertex_pair(u, v, g)</tt>  </td>
+<td> <tt>void</tt></td>
+<td> Invoked every time an edge between vertices <tt>u</tt> and <tt>v</tt>
+     should be added to the graph <tt>g</tt>.
+</td></tr>
+
+</tbody></table>
+
+</p><h3>Models</h3>
+
+Two models of this concept are defined in the file
+<a href="../../../boost/graph/planar_detail/add_edge_visitors.hpp">
+<tt>add_edge_visitors.hpp</tt></a>:
+
+<ul>
+<li><tt>default_add_edge_visitor</tt>: The constructor of this class takes
+no arguments.<tt>visit_vertex_pair(u, v, g)</tt> is just a dispatch to
+<tt>add_edge(u, v, g)</tt>.
+<li><tt>edge_index_update_visitor</tt>: The constructor of this class takes
+two arguments: the first, an EdgeIndexMap,
+is a <a href="../../property_map/ReadWritePropertyMap.html">
+ReadWritePropertyMap</a> that maps each edge in the associated graph
+<tt>g</tt> to a distinct integer in the range <tt>[0, num_edges(g))</tt>.
+The second argument is the number of edges in the underlying graph, which
+serves as the "next available index" counter within the visitor.
+For example, in the case the graph used has an initialized interior
+edge index, the <tt>edge_index_update_visitor</tt> constructor should be
+called with <tt>get(edge_index, g)</tt> as the edge index and
+<tt>num_edges(g)</tt> as the next available index. When
+<tt>visit_vertex_pair(u, v, g)</tt> is called, the
+<tt>edge_index_update_visitor</tt> will add the edge <i>(u,v)</i> to the graph
+and update the edge index for the newly created edge.
+</ul>
+
+<p>
+
+<br>
+</p><hr>
+Copyright   2007 Aaron Windsor (<a href="mailto:aaron.windsor@xxxxxxxxx";>
+aaron.windsor@xxxxxxxxx</a>)
+
 </body></html>

Modified: trunk/libs/graph/doc/AdjacencyGraph.html
==============================================================================
--- trunk/libs/graph/doc/AdjacencyGraph.html    (original)
+++ trunk/libs/graph/doc/AdjacencyGraph.html    Mon Mar 30 07:58:04 2009
@@ -1,168 +1,168 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>AdjacencyGraph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-
-<H2><A NAME="concept:AdjacencyGraph"></A>
-AdjacencyGraph
-</H2>
-
-The AdjacencyGraph concept provides and interface for efficient access
-of the adjacent vertices to a vertex in a graph. This is quite similar
-to the <a href="./IncidenceGraph.html">IncidenceGraph</a> concept (the
-target of an out-edge is an adjacent vertex). Both concepts are
-provided because in some contexts there is only concern for the
-vertices, whereas in other contexts the edges are also important.
-
-<H3>Refinement of</H3>
-
-<a href="Graph.html">Graph</a>
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>v</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-
-<H3>Associated Types</H3>
-
-<Table border>
-
-<tr>
-<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
- This tag type must be convertible to <tt>adjacency_graph_tag</tt>.
-</td>
-</tr>
-
-<TR>
-<TD><pre>boost::graph_traits&lt;G&gt;::adjacency_iterator</pre>
-An adjacency iterator for a vertex <i>v</i> provides access to the
-vertices adjacent to <i>v</i>.  As such, the value type of an
-adjacency iterator is the vertex descriptor type of its graph. An
-adjacency iterator must meet the requirements of <a
-href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
-</TD>
-</TR>
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-
-<table border>
-
-<tr>
-<td><a name="sec:adjacent-vertices"><TT>adjacent_vertices(v,&nbsp;g)</TT></a></TD>
-<TD>
-Returns an iterator-range providing access to the vertices adjacent to
-vertex <TT>v</TT> in graph <TT>g</TT>.<a
-href="#1">[1]</a>
-
-<br> Return type:
-<TT>std::pair&lt;adjacency_iterator,&nbsp;adjacency_iterator&gt;</TT>
-</TD>
-</TR>
-
-</table>
-
-<H3>Complexity guarantees</H3>
-
-The <TT>adjacent_vertices()</TT> function must return in constant time.
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>,
-<a href="./adjacency_iterator.html"><tt>adjacency_iterator</tt></a>
-
-<H3>Concept Checking Class</H3>
-
-<PRE>
-  template &lt;class G&gt;
-  struct AdjacencyGraphConcept
-  {
-    typedef typename boost::graph_traits&lt;G&gt;::adjacency_iterator
-      adjacency_iterator;
-    void constraints() {
-      function_requires&lt; IncidenceGraphConcept&lt;G&gt; &gt;();
- function_requires&lt; MultiPassInputIteratorConcept&lt;adjacency_iterator&gt; &gt;();
-
-      p = adjacent_vertices(v, g);
-      v = *p.first;
-      const_constraints(g);
-    }
-    void const_constraints(const G&amp; g) {
-      p = adjacent_vertices(v, g);
-    }
-    std::pair&lt;adjacency_iterator,adjacency_iterator&gt; p;
-    typename boost::graph_traits&lt;G&gt;::vertex_descriptor v;
-    G g;
-  };
-</PRE>
-
-<h3>Design Rationale</h3>
-
-The AdjacencyGraph concept is somewhat frivolous since <a
-href="./IncidenceGraph.html">IncidenceGraph</a> really covers the same
-functionality (and more).  The AdjacencyGraph concept exists because
-there are situations when <tt>adjacent_vertices()</tt> is more
-convenient to use than <tt>out_edges()</tt>. If you are constructing a
-graph class and do not want to put in the extra work of creating an
-adjacency iterator, have no fear. There is an adaptor class named <a
-href="./adjacency_iterator.html"> <tt>adjacency_iterator</tt></a> that
-you can use to create an adjacency iterator out of an out-edge
-iterator.
-
-<h3>Notes</h3>
-
-<a name="1">[1]</a>  The case of a
-<I>multigraph</I> (where multiple edges can connect the same two
-vertices) brings up an issue as to whether the iterators returned by
-the <TT>adjacent_vertices()</TT> function access a range that
-includes each adjacent vertex once, or whether it should match the
-behavior of the <TT>out_edges()</TT> function, and access a
-range that may include an adjacent vertex more than once. For now the
-behavior is defined to match that of <TT>out_edges()</TT>,
-though this decision may need to be reviewed in light of more
-experience with graph algorithm implementations.
-
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>AdjacencyGraph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+
+<H2><A NAME="concept:AdjacencyGraph"></A>
+AdjacencyGraph
+</H2>
+
+The AdjacencyGraph concept provides and interface for efficient access
+of the adjacent vertices to a vertex in a graph. This is quite similar
+to the <a href="./IncidenceGraph.html">IncidenceGraph</a> concept (the
+target of an out-edge is an adjacent vertex). Both concepts are
+provided because in some contexts there is only concern for the
+vertices, whereas in other contexts the edges are also important.
+
+<H3>Refinement of</H3>
+
+<a href="Graph.html">Graph</a>
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>v</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+
+<H3>Associated Types</H3>
+
+<Table border>
+
+<tr>
+<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
+ This tag type must be convertible to <tt>adjacency_graph_tag</tt>.
+</td>
+</tr>
+
+<TR>
+<TD><pre>boost::graph_traits&lt;G&gt;::adjacency_iterator</pre>
+An adjacency iterator for a vertex <i>v</i> provides access to the
+vertices adjacent to <i>v</i>.  As such, the value type of an
+adjacency iterator is the vertex descriptor type of its graph. An
+adjacency iterator must meet the requirements of <a
+href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
+</TD>
+</TR>
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+
+<table border>
+
+<tr>
+<td><a name="sec:adjacent-vertices"><TT>adjacent_vertices(v,&nbsp;g)</TT></a></TD>
+<TD>
+Returns an iterator-range providing access to the vertices adjacent to
+vertex <TT>v</TT> in graph <TT>g</TT>.<a
+href="#1">[1]</a>
+
+<br> Return type:
+<TT>std::pair&lt;adjacency_iterator,&nbsp;adjacency_iterator&gt;</TT>
+</TD>
+</TR>
+
+</table>
+
+<H3>Complexity guarantees</H3>
+
+The <TT>adjacent_vertices()</TT> function must return in constant time.
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>,
+<a href="./adjacency_iterator.html"><tt>adjacency_iterator</tt></a>
+
+<H3>Concept Checking Class</H3>
+
+<PRE>
+  template &lt;class G&gt;
+  struct AdjacencyGraphConcept
+  {
+    typedef typename boost::graph_traits&lt;G&gt;::adjacency_iterator
+      adjacency_iterator;
+    void constraints() {
+      function_requires&lt; IncidenceGraphConcept&lt;G&gt; &gt;();
+ function_requires&lt; MultiPassInputIteratorConcept&lt;adjacency_iterator&gt; &gt;();
+
+      p = adjacent_vertices(v, g);
+      v = *p.first;
+      const_constraints(g);
+    }
+    void const_constraints(const G&amp; g) {
+      p = adjacent_vertices(v, g);
+    }
+    std::pair&lt;adjacency_iterator,adjacency_iterator&gt; p;
+    typename boost::graph_traits&lt;G&gt;::vertex_descriptor v;
+    G g;
+  };
+</PRE>
+
+<h3>Design Rationale</h3>
+
+The AdjacencyGraph concept is somewhat frivolous since <a
+href="./IncidenceGraph.html">IncidenceGraph</a> really covers the same
+functionality (and more).  The AdjacencyGraph concept exists because
+there are situations when <tt>adjacent_vertices()</tt> is more
+convenient to use than <tt>out_edges()</tt>. If you are constructing a
+graph class and do not want to put in the extra work of creating an
+adjacency iterator, have no fear. There is an adaptor class named <a
+href="./adjacency_iterator.html"> <tt>adjacency_iterator</tt></a> that
+you can use to create an adjacency iterator out of an out-edge
+iterator.
+
+<h3>Notes</h3>
+
+<a name="1">[1]</a>  The case of a
+<I>multigraph</I> (where multiple edges can connect the same two
+vertices) brings up an issue as to whether the iterators returned by
+the <TT>adjacent_vertices()</TT> function access a range that
+includes each adjacent vertex once, or whether it should match the
+behavior of the <TT>out_edges()</TT> function, and access a
+range that may include an adjacent vertex more than once. For now the
+behavior is defined to match that of <TT>out_edges()</TT>,
+though this decision may need to be reviewed in light of more
+experience with graph algorithm implementations.
+
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/AdjacencyMatrix.html
==============================================================================
--- trunk/libs/graph/doc/AdjacencyMatrix.html   (original)
+++ trunk/libs/graph/doc/AdjacencyMatrix.html   Mon Mar 30 07:58:04 2009
@@ -1,103 +1,103 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>AdjacencyMatrix</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-
-<H2><A NAME="concept:AdjacencyMatrix"></A>
-AdjacencyMatrix
-</H2>
-
-<P>
-The AdjacencyMatrix concept refines <a href="./Graph.html">Graph</a>
-concept and adds the requirement for efficient access to any edge in
-the graph given the source and target vertices. No Boost Graph Library
-algorithms currently use this concept. However there are algorithms
-not yet implemented such as Floyd-Warshall that would require this
-concept.
-
-<H3>Refinement of</H3>
-
-<a href="./Graph.html">Graph</a>
-
-<H3>Associated Types</H3>
-
-<Table border>
-
-<tr>
-<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
- This tag type must be convertible to <tt>adjacency_matrix_tag</tt>.
-</td>
-</tr>
-
-</table>
-
-<H3>Valid Expressions</H3>
-
-<table border>
-
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Direct Edge Access</td>
-<TD><TT>edge(u,v,g)</TT></TD>
-<TD><TT>std::pair&lt;edge_descriptor, bool&gt;</TT></TD>
-<TD>
-Returns a pair consisting of a flag saying whether there exists an
-edge between <TT>u</TT> and <TT>v</TT> in graph <TT>g</TT>, and
-consisting of the edge descriptor if the edge was found.
-</TD>
-</TR>
-</TABLE>
-
-<H3>Complexity guarantees</H3>
-
-The <TT>edge()</TT> function must return in constant time.
-
-
-<H3>Models</H3>
-
-<a href="./adjacency_matrix.html"><tt>adjacency_matrix</tt></a>
-
-<H3>Concept Checking Class</H3>
-
-<PRE>
-  template &lt;class G&gt;
-  struct AdjacencyMatrix
-  {
- typedef typename boost::graph_traits&lt;G&gt;::edge_descriptor edge_descriptor;
-    void constraints() {
-      p = edge(u, v, g);
-    }
-    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
-    std::pair&lt;bool, edge_descriptor&gt; p;
-    G g;
-  };
-</PRE>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>AdjacencyMatrix</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+
+<H2><A NAME="concept:AdjacencyMatrix"></A>
+AdjacencyMatrix
+</H2>
+
+<P>
+The AdjacencyMatrix concept refines <a href="./Graph.html">Graph</a>
+concept and adds the requirement for efficient access to any edge in
+the graph given the source and target vertices. No Boost Graph Library
+algorithms currently use this concept. However there are algorithms
+not yet implemented such as Floyd-Warshall that would require this
+concept.
+
+<H3>Refinement of</H3>
+
+<a href="./Graph.html">Graph</a>
+
+<H3>Associated Types</H3>
+
+<Table border>
+
+<tr>
+<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
+ This tag type must be convertible to <tt>adjacency_matrix_tag</tt>.
+</td>
+</tr>
+
+</table>
+
+<H3>Valid Expressions</H3>
+
+<table border>
+
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Direct Edge Access</td>
+<TD><TT>edge(u,v,g)</TT></TD>
+<TD><TT>std::pair&lt;edge_descriptor, bool&gt;</TT></TD>
+<TD>
+Returns a pair consisting of a flag saying whether there exists an
+edge between <TT>u</TT> and <TT>v</TT> in graph <TT>g</TT>, and
+consisting of the edge descriptor if the edge was found.
+</TD>
+</TR>
+</TABLE>
+
+<H3>Complexity guarantees</H3>
+
+The <TT>edge()</TT> function must return in constant time.
+
+
+<H3>Models</H3>
+
+<a href="./adjacency_matrix.html"><tt>adjacency_matrix</tt></a>
+
+<H3>Concept Checking Class</H3>
+
+<PRE>
+  template &lt;class G&gt;
+  struct AdjacencyMatrix
+  {
+ typedef typename boost::graph_traits&lt;G&gt;::edge_descriptor edge_descriptor;
+    void constraints() {
+      p = edge(u, v, g);
+    }
+    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
+    std::pair&lt;bool, edge_descriptor&gt; p;
+    G g;
+  };
+</PRE>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/BFSVisitor.html
==============================================================================
--- trunk/libs/graph/doc/BFSVisitor.html        (original)
+++ trunk/libs/graph/doc/BFSVisitor.html        Mon Mar 30 07:58:04 2009
@@ -1,220 +1,220 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: BFSVisitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><img src="figs/python.gif" alt="(Python)"/>BFS Visitor Concept</H1>
-
-This concept defines the visitor interface for <a
-href="./breadth_first_search.html"><tt>breadth_first_search()</tt></a>.
-Users can define a class with the BFS Visitor interface and pass and
-object of the class to <tt>breadth_first_search()</tt>, thereby
-augmenting the actions taken during the graph search.
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of BFS Visitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>s,u</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Initialize Vertex</td>
-<td><tt>vis.initialize_vertex(s, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every vertex of the graph before the start of the
-graph search.
-</td>
-</tr>
-
-<tr>
-<td>Discover Vertex</td>
-<td><tt>vis.discover_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked when a vertex is encountered for the first time.
-</td>
-</tr>
-
-<tr>
-<td>Examine Vertex</td>
-<td><tt>vis.examine_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on a vertex as it is popped from the queue. This
-happens immediately before <tt>examine_edge()</tt> is invoked
-on each of the out-edges of vertex <tt>u</tt>.
-</td>
-</tr>
-
-<tr>
-<td>Examine Edge</td>
-<td><tt>vis.examine_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every out-edge of each vertex after it is discovered.
-</td>
-</tr>
-
-
-<tr>
-<td>Tree Edge</td>
-<td><tt>vis.tree_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on each edge as it becomes a member of the edges that
-form the search tree.</td>
-</tr>
-
-<tr>
-<td>Non-Tree Edge</td>
-<td><tt>vis.non_tree_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on back or cross edges for directed graphs and cross
-edges for undirected graphs.
-</td>
-</tr>
-
-<tr>
-<td>Gray Target</td>
-<td><tt>vis.gray_target(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on the subset of non-tree edges who's target vertex is
-colored gray at the time of examination. The color gray indicates
-that the vertex is currently in the queue.
-</td>
-</tr>
-
-<tr>
-<td>Black Target</td>
-<td><tt>vis.black_target(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on the subset of non-tree edges who's target vertex is
-colored black at the time of examination. The color black indicates
-that the vertex has been removed from the queue.
-</td>
-</tr>
-
-<tr>
-<td>Finish Vertex</td>
-<td><tt>vis.finish_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This invoked on a vertex after all of its out edges have been added to the
-search tree and all of the adjacent vertices have been discovered
-(but before the out-edges of the adjacent vertices have been examined).
-</td>
-</tr>
-
-</table>
-
-<h3>Models</h3>
-
-<ul>
- <li><a href="./bfs_visitor.html"><tt>bfs_visitor</tt></a>
-</ul>
-
-<a name="python"></a><h3>Python</h3>
-To implement a model of the <tt>BFSVisitor</tt> concept in Python,
-create a new class that derives from the <tt>BFSVisitor</tt> type of
-the graph, which will be
-named <tt><i>GraphType</i>.BFSVisitor</tt>. The events and syntax are
-the same as with visitors in C++. Here is an example for the
-Python <tt>bgl.Graph</tt> graph type:
-
-<pre>
-class count_tree_edges_bfs_visitor(bgl.Graph.BFSVisitor):
-  def __init__(self, name_map):
-    bgl.Graph.BFSVisitor.__init__(self)
-    self.name_map = name_map
-
-  def tree_edge(self, e, g):
-    (u, v) = (g.source(e), g.target(e))
-    print "Tree edge ",
-    print self.name_map[u],
-    print " -> ",
-    print self.name_map[v]
-</pre>
-
-<h3>See also</h3>
-
-<a href="./visitor_concepts.html">Visitor concepts</a>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: BFSVisitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><img src="figs/python.gif" alt="(Python)"/>BFS Visitor Concept</H1>
+
+This concept defines the visitor interface for <a
+href="./breadth_first_search.html"><tt>breadth_first_search()</tt></a>.
+Users can define a class with the BFS Visitor interface and pass and
+object of the class to <tt>breadth_first_search()</tt>, thereby
+augmenting the actions taken during the graph search.
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of BFS Visitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>s,u</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Initialize Vertex</td>
+<td><tt>vis.initialize_vertex(s, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every vertex of the graph before the start of the
+graph search.
+</td>
+</tr>
+
+<tr>
+<td>Discover Vertex</td>
+<td><tt>vis.discover_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked when a vertex is encountered for the first time.
+</td>
+</tr>
+
+<tr>
+<td>Examine Vertex</td>
+<td><tt>vis.examine_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on a vertex as it is popped from the queue. This
+happens immediately before <tt>examine_edge()</tt> is invoked
+on each of the out-edges of vertex <tt>u</tt>.
+</td>
+</tr>
+
+<tr>
+<td>Examine Edge</td>
+<td><tt>vis.examine_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every out-edge of each vertex after it is discovered.
+</td>
+</tr>
+
+
+<tr>
+<td>Tree Edge</td>
+<td><tt>vis.tree_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on each edge as it becomes a member of the edges that
+form the search tree.</td>
+</tr>
+
+<tr>
+<td>Non-Tree Edge</td>
+<td><tt>vis.non_tree_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on back or cross edges for directed graphs and cross
+edges for undirected graphs.
+</td>
+</tr>
+
+<tr>
+<td>Gray Target</td>
+<td><tt>vis.gray_target(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on the subset of non-tree edges who's target vertex is
+colored gray at the time of examination. The color gray indicates
+that the vertex is currently in the queue.
+</td>
+</tr>
+
+<tr>
+<td>Black Target</td>
+<td><tt>vis.black_target(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on the subset of non-tree edges who's target vertex is
+colored black at the time of examination. The color black indicates
+that the vertex has been removed from the queue.
+</td>
+</tr>
+
+<tr>
+<td>Finish Vertex</td>
+<td><tt>vis.finish_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This invoked on a vertex after all of its out edges have been added to the
+search tree and all of the adjacent vertices have been discovered
+(but before the out-edges of the adjacent vertices have been examined).
+</td>
+</tr>
+
+</table>
+
+<h3>Models</h3>
+
+<ul>
+ <li><a href="./bfs_visitor.html"><tt>bfs_visitor</tt></a>
+</ul>
+
+<a name="python"></a><h3>Python</h3>
+To implement a model of the <tt>BFSVisitor</tt> concept in Python,
+create a new class that derives from the <tt>BFSVisitor</tt> type of
+the graph, which will be
+named <tt><i>GraphType</i>.BFSVisitor</tt>. The events and syntax are
+the same as with visitors in C++. Here is an example for the
+Python <tt>bgl.Graph</tt> graph type:
+
+<pre>
+class count_tree_edges_bfs_visitor(bgl.Graph.BFSVisitor):
+  def __init__(self, name_map):
+    bgl.Graph.BFSVisitor.__init__(self)
+    self.name_map = name_map
+
+  def tree_edge(self, e, g):
+    (u, v) = (g.source(e), g.target(e))
+    print "Tree edge ",
+    print self.name_map[u],
+    print " -> ",
+    print self.name_map[v]
+</pre>
+
+<h3>See also</h3>
+
+<a href="./visitor_concepts.html">Visitor concepts</a>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/BasicMatrix.html
==============================================================================
--- trunk/libs/graph/doc/BasicMatrix.html       (original)
+++ trunk/libs/graph/doc/BasicMatrix.html       Mon Mar 30 07:58:04 2009
@@ -1,103 +1,103 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>BasicMatrix</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><A NAME="concept:BasicMatrix"></A>
-BasicMatrix
-</H1>
-
-The BasicMatrix concept provides a minimalist interface for
-accessing elements from a 2 dimensional table of values.
-
-
-<H3>Refinement of</H3>
-
-none
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD>{<tt>M,I,V</tt>}</TD>
-<TD>The matrix, index, and values types that together model the BasicMatrix concept.</TD>
-</TR>
-
-<TR>
-<TD><tt>A</tt></TD>
-<TD>An object of type <tt>M</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>i, j</tt></TD>
-<TD>Objects of type <tt>I</tt>.</TD>
-</TR>
-
-</table>
-
-<H3>Associated Types</H3>
-
-none
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<td><a name="sec:elt-access"><TT>A[i][j]</TT></a></TD>
-<TD>Returns a reference to the element object stored at index <tt>(i,j)</tt><br> -Return type: <TT>V&amp;</TT> for mutable <tt>A</tt> or <TT>const V&amp;</TT>
-for constant <tt>A</tt>.
-</TD>
-</TR>
-
-</table>
-
-<H3>Complexity guarantees</H3>
-
-Element access is constant time.
-
-<H3>Concept Checking Class</H3>
-
-<pre>
-  template &lt;class M, class I, class V&gt;
-  struct BasicMatrixConcept
-  {
-    void constraints() {
-      V&amp; elt = A[i][j];
-      const_constraints(A);
-      ignore_unused_variable_warning(elt);
-    }
-    void const_constraints(const M&amp; A) {
-      const V&amp; elt = A[i][j];
-      ignore_unused_variable_warning(elt);
-    }
-    M A;
-    I i, j;
-  };
-</pre>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>BasicMatrix</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><A NAME="concept:BasicMatrix"></A>
+BasicMatrix
+</H1>
+
+The BasicMatrix concept provides a minimalist interface for
+accessing elements from a 2 dimensional table of values.
+
+
+<H3>Refinement of</H3>
+
+none
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD>{<tt>M,I,V</tt>}</TD>
+<TD>The matrix, index, and values types that together model the BasicMatrix concept.</TD>
+</TR>
+
+<TR>
+<TD><tt>A</tt></TD>
+<TD>An object of type <tt>M</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>i, j</tt></TD>
+<TD>Objects of type <tt>I</tt>.</TD>
+</TR>
+
+</table>
+
+<H3>Associated Types</H3>
+
+none
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<td><a name="sec:elt-access"><TT>A[i][j]</TT></a></TD>
+<TD>Returns a reference to the element object stored at index <tt>(i,j)</tt><br> +Return type: <TT>V&amp;</TT> for mutable <tt>A</tt> or <TT>const V&amp;</TT>
+for constant <tt>A</tt>.
+</TD>
+</TR>
+
+</table>
+
+<H3>Complexity guarantees</H3>
+
+Element access is constant time.
+
+<H3>Concept Checking Class</H3>
+
+<pre>
+  template &lt;class M, class I, class V&gt;
+  struct BasicMatrixConcept
+  {
+    void constraints() {
+      V&amp; elt = A[i][j];
+      const_constraints(A);
+      ignore_unused_variable_warning(elt);
+    }
+    void const_constraints(const M&amp; A) {
+      const V&amp; elt = A[i][j];
+      ignore_unused_variable_warning(elt);
+    }
+    M A;
+    I i, j;
+  };
+</pre>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/BellmanFordVisitor.html
==============================================================================
--- trunk/libs/graph/doc/BellmanFordVisitor.html        (original)
+++ trunk/libs/graph/doc/BellmanFordVisitor.html        Mon Mar 30 07:58:04 2009
@@ -1,184 +1,184 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: Bellman Ford Visitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><img src="figs/python.gif" alt="(Python)"/>Bellman Ford Visitor Concept</H1>
-
-This concept defines the visitor interface for <a
-href="./bellman_ford_shortest.html"><tt>bellman_ford_shortest_paths()</tt></a>.
-Users can define a class with the Bellman Ford Visitor interface and
-pass and object of the class to <tt>bellman_ford_shortest_paths()</tt>,
-thereby augmenting the actions taken during the graph search.
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of Bellman Ford Visitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>s,u</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Examine Edge</td>
-<td><tt>vis.examine_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every edge in the graph <tt>num_vertices(g)</tt> times.
-</td>
-</tr>
-
-
-<tr>
-<td>Edge Relaxed</td>
-<td><tt>vis.edge_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if the following condition holds then the edge
-is relaxed (its distance is reduced), and this method is invoked.<br>
-<tt>
-tie(u,v) = incident(e, g);<br>
-D d_u = get(d, u), d_v = get(d, v);<br>
-W w_e = get(w, e);<br>
-assert(compare(combine(d_u, w_e), d_v));<br>
-</tt>
-</td>
-</tr>
-
-<tr>
-<td>Edge Not Relaxed</td>
-<td><tt>edge_not_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if the edge is not relaxed (see above) then
-this method is invoked.
-</td>
-</tr>
-
-<tr>
-<td>Edge Minimized</td>
-<td><tt>vis.edge_minimized(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-After the <tt>num_vertices(g)</tt> iterations through the edge set
-of the graph is complete, one last iteration is made to test whether
-each edge was minimized. If the edge is minimized then this function
-is invoked.
-</td>
-</tr>
-
-<tr>
-<td>Edge Not Minimized</td>
-<td><tt>edge_not_minimized(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-If the edge is not minimized, this function is invoked. This happens
-when there is a negative cycle in the graph.
-</td>
-</tr>
-
-</table>
-
-
-<h3>Models</h3>
-
-<ul>
-  <li><a href="./bellman_visitor.html"><tt>bellman_visitor</tt></a>
-</ul>
-
-<a name="python"></a>
-<h3>Python</h3>
-
-To implement a model of the <tt>BellmanFordVisitor</tt> concept in Python,
-create a new class that derives from the <tt>BellmanFordVisitor</tt> type of
-the graph, which will be
-named <tt><i>GraphType</i>.BellmanFordVisitor</tt>. The events and syntax are
-the same as with visitors in C++. Here is an example for the
-Python <tt>bgl.Graph</tt> graph type:
-
-<pre>
-class count_tree_edges_bellman_ford_visitor(bgl.Graph.BellmanFordVisitor):
-  def __init__(self, name_map):
-    bgl.Graph.BellmanFordVisitor.__init__(self)
-    self.name_map = name_map
-
-  def edge_relaxed(self, e, g):
-    (u, v) = (g.source(e), g.target(e))
-    print "Relaxed edge ",
-    print self.name_map[u],
-    print " -> ",
-    print self.name_map[v]
-</pre>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: Bellman Ford Visitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><img src="figs/python.gif" alt="(Python)"/>Bellman Ford Visitor Concept</H1>
+
+This concept defines the visitor interface for <a
+href="./bellman_ford_shortest.html"><tt>bellman_ford_shortest_paths()</tt></a>.
+Users can define a class with the Bellman Ford Visitor interface and
+pass and object of the class to <tt>bellman_ford_shortest_paths()</tt>,
+thereby augmenting the actions taken during the graph search.
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of Bellman Ford Visitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>s,u</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Examine Edge</td>
+<td><tt>vis.examine_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every edge in the graph <tt>num_vertices(g)</tt> times.
+</td>
+</tr>
+
+
+<tr>
+<td>Edge Relaxed</td>
+<td><tt>vis.edge_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if the following condition holds then the edge
+is relaxed (its distance is reduced), and this method is invoked.<br>
+<tt>
+tie(u,v) = incident(e, g);<br>
+D d_u = get(d, u), d_v = get(d, v);<br>
+W w_e = get(w, e);<br>
+assert(compare(combine(d_u, w_e), d_v));<br>
+</tt>
+</td>
+</tr>
+
+<tr>
+<td>Edge Not Relaxed</td>
+<td><tt>edge_not_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if the edge is not relaxed (see above) then
+this method is invoked.
+</td>
+</tr>
+
+<tr>
+<td>Edge Minimized</td>
+<td><tt>vis.edge_minimized(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+After the <tt>num_vertices(g)</tt> iterations through the edge set
+of the graph is complete, one last iteration is made to test whether
+each edge was minimized. If the edge is minimized then this function
+is invoked.
+</td>
+</tr>
+
+<tr>
+<td>Edge Not Minimized</td>
+<td><tt>edge_not_minimized(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+If the edge is not minimized, this function is invoked. This happens
+when there is a negative cycle in the graph.
+</td>
+</tr>
+
+</table>
+
+
+<h3>Models</h3>
+
+<ul>
+  <li><a href="./bellman_visitor.html"><tt>bellman_visitor</tt></a>
+</ul>
+
+<a name="python"></a>
+<h3>Python</h3>
+
+To implement a model of the <tt>BellmanFordVisitor</tt> concept in Python,
+create a new class that derives from the <tt>BellmanFordVisitor</tt> type of
+the graph, which will be
+named <tt><i>GraphType</i>.BellmanFordVisitor</tt>. The events and syntax are
+the same as with visitors in C++. Here is an example for the
+Python <tt>bgl.Graph</tt> graph type:
+
+<pre>
+class count_tree_edges_bellman_ford_visitor(bgl.Graph.BellmanFordVisitor):
+  def __init__(self, name_map):
+    bgl.Graph.BellmanFordVisitor.__init__(self)
+    self.name_map = name_map
+
+  def edge_relaxed(self, e, g):
+    (u, v) = (g.source(e), g.target(e))
+    print "Relaxed edge ",
+    print self.name_map[u],
+    print " -> ",
+    print self.name_map[v]
+</pre>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/BidirectionalGraph.html
==============================================================================
--- trunk/libs/graph/doc/BidirectionalGraph.html        (original)
+++ trunk/libs/graph/doc/BidirectionalGraph.html        Mon Mar 30 07:58:04 2009
@@ -1,175 +1,175 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Bidirectional</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-<H2>
-<A NAME="concept:BidirectionalGraph"></A>
-BidirectionalGraph
-</H2>
-
-<P>
-The BidirectionalGraph concept refines <a
-href="./IncidenceGraph.html">IncidenceGraph</a> and adds the
-requirement for efficient access to the in-edges of each vertex. This
-concept is separated from <a
-href="./IncidenceGraph.html">IncidenceGraph</a> because for directed
-graphs efficient access to in-edges typically requires more storage
-space, and many algorithms do not require access to in-edges.  For
-undirected graphs this is not an issue, since the <TT>in_edges()</TT>
-and <TT>out_edges()</TT> functions are the same, they both return the
-edges incident to the vertex.
-
-<H3>Refinement of</H3>
-
-<a href="./IncidenceGraph.html">IncidenceGraph</a>
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>v</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<H3>Associated Types</H3>
-
-<Table border>
-
-<tr>
-<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
- This tag type must be convertible to <tt>bidirectional_graph_tag</tt>.
-</td>
-</tr>
-
-<TR>
-<TD><pre>boost::graph_traits&lt;G&gt;::in_edge_iterator</pre>
-An in-edge iterator for a vertex <i>v</i> provides access to the
-in-edges of <i>v</i>.  As such, the value type of an in-edge iterator
-is the edge descriptor type of its graph. An in-edge iterator must
-meet the requirements of <a href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
-</TD>
-</TR>
-
-</Table>
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<td><a name="sec:in-edges"><TT>in_edges(v, g)</TT></a></TD>
-<TD>
-Returns an iterator-range providing access to the
-in-edges (for directed graphs) or incident edges (for
-undirected graphs) of vertex <TT>v</TT> in graph <TT>g</TT>.
-For both directed and undirected graphs, the target of
-an out-edge is required to be vertex <tt>v</tt> and the
-source is required to be a vertex that is adjacent to <tt>v</tt>.
-<br>
-Return type: <TT>std::pair&lt;in_edge_iterator, in_edge_iterator&gt;</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>in_degree(v, g)</TT></TD>
-<TD>
-Returns the number of in-edges (for directed graphs) or the
-number of incident edges (for undirected graphs) of vertex <TT>v</TT>
-in graph <TT>g</TT>.<br>
-Return type: <TT>degree_size_type</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>degree(v, g)</TT></TD>
-<TD>Returns the number of in-edges plus out-edges (for directed graphs) or the
-number of incident edges (for undirected graphs) of vertex <TT>v</TT>
-in graph <TT>g</TT>.<br>
-Return type: <TT>degree_size_type</TT>
-</TD>
-</TR>
-
-</Table>
-
-<H3>Models</H3>
-
-<ul>
-<li><a href="./adjacency_list.html"><tt>adjacency_list</tt></a> with <tt>Directed=bidirectionalS</tt></li> -<li><a href="./adjacency_list.html"><tt>adjacency_list</tt></a> with <tt>Directed=undirectedS</tt></li>
-</ul>
-
-
-<H3>Complexity guarantees</H3>
-
-The <TT>in_edges()</TT> function is required to be constant time.  The
-<tt>in_degree()</tt> and <tt>degree()</tt> functions must be linear in
-the number of in-edges (for directed graphs) or incident edges (for
-undirected graphs).
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>
-
-<H3>Concept Checking Class</H3>
-
-<PRE>
-  template &lt;class G&gt;
-  struct BidirectionalGraphConcept
-  {
-    typedef typename boost::graph_traits&lt;G&gt;::in_edge_iterator
-      in_edge_iterator;
-    void constraints() {
-      function_requires&lt; IncidenceGraphConcept&lt;G&gt; &gt;();
- function_requires&lt; MultiPassInputIteratorConcept&lt;in_edge_iterator&gt; &gt;();
-
-      p = in_edges(v, g);
-      e = *p.first;
-      const_constraints(g);
-    }
-    void const_constraints(const G&amp; g) {
-      p = in_edges(v, g);
-      e = *p.first;
-    }
-    std::pair&lt;in_edge_iterator, in_edge_iterator&gt; p;
-    typename boost::graph_traits&lt;G&gt;::vertex_descriptor v;
-    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
-    G g;
-  };
-</PRE>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Bidirectional</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+<H2>
+<A NAME="concept:BidirectionalGraph"></A>
+BidirectionalGraph
+</H2>
+
+<P>
+The BidirectionalGraph concept refines <a
+href="./IncidenceGraph.html">IncidenceGraph</a> and adds the
+requirement for efficient access to the in-edges of each vertex. This
+concept is separated from <a
+href="./IncidenceGraph.html">IncidenceGraph</a> because for directed
+graphs efficient access to in-edges typically requires more storage
+space, and many algorithms do not require access to in-edges.  For
+undirected graphs this is not an issue, since the <TT>in_edges()</TT>
+and <TT>out_edges()</TT> functions are the same, they both return the
+edges incident to the vertex.
+
+<H3>Refinement of</H3>
+
+<a href="./IncidenceGraph.html">IncidenceGraph</a>
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>v</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<H3>Associated Types</H3>
+
+<Table border>
+
+<tr>
+<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
+ This tag type must be convertible to <tt>bidirectional_graph_tag</tt>.
+</td>
+</tr>
+
+<TR>
+<TD><pre>boost::graph_traits&lt;G&gt;::in_edge_iterator</pre>
+An in-edge iterator for a vertex <i>v</i> provides access to the
+in-edges of <i>v</i>.  As such, the value type of an in-edge iterator
+is the edge descriptor type of its graph. An in-edge iterator must
+meet the requirements of <a href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
+</TD>
+</TR>
+
+</Table>
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<td><a name="sec:in-edges"><TT>in_edges(v, g)</TT></a></TD>
+<TD>
+Returns an iterator-range providing access to the
+in-edges (for directed graphs) or incident edges (for
+undirected graphs) of vertex <TT>v</TT> in graph <TT>g</TT>.
+For both directed and undirected graphs, the target of
+an out-edge is required to be vertex <tt>v</tt> and the
+source is required to be a vertex that is adjacent to <tt>v</tt>.
+<br>
+Return type: <TT>std::pair&lt;in_edge_iterator, in_edge_iterator&gt;</TT>
+</TD>
+</TR>
+
+<tr>
+<TD><TT>in_degree(v, g)</TT></TD>
+<TD>
+Returns the number of in-edges (for directed graphs) or the
+number of incident edges (for undirected graphs) of vertex <TT>v</TT>
+in graph <TT>g</TT>.<br>
+Return type: <TT>degree_size_type</TT>
+</TD>
+</TR>
+
+<tr>
+<TD><TT>degree(v, g)</TT></TD>
+<TD>Returns the number of in-edges plus out-edges (for directed graphs) or the
+number of incident edges (for undirected graphs) of vertex <TT>v</TT>
+in graph <TT>g</TT>.<br>
+Return type: <TT>degree_size_type</TT>
+</TD>
+</TR>
+
+</Table>
+
+<H3>Models</H3>
+
+<ul>
+<li><a href="./adjacency_list.html"><tt>adjacency_list</tt></a> with <tt>Directed=bidirectionalS</tt></li> +<li><a href="./adjacency_list.html"><tt>adjacency_list</tt></a> with <tt>Directed=undirectedS</tt></li>
+</ul>
+
+
+<H3>Complexity guarantees</H3>
+
+The <TT>in_edges()</TT> function is required to be constant time.  The
+<tt>in_degree()</tt> and <tt>degree()</tt> functions must be linear in
+the number of in-edges (for directed graphs) or incident edges (for
+undirected graphs).
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>
+
+<H3>Concept Checking Class</H3>
+
+<PRE>
+  template &lt;class G&gt;
+  struct BidirectionalGraphConcept
+  {
+    typedef typename boost::graph_traits&lt;G&gt;::in_edge_iterator
+      in_edge_iterator;
+    void constraints() {
+      function_requires&lt; IncidenceGraphConcept&lt;G&gt; &gt;();
+ function_requires&lt; MultiPassInputIteratorConcept&lt;in_edge_iterator&gt; &gt;();
+
+      p = in_edges(v, g);
+      e = *p.first;
+      const_constraints(g);
+    }
+    void const_constraints(const G&amp; g) {
+      p = in_edges(v, g);
+      e = *p.first;
+    }
+    std::pair&lt;in_edge_iterator, in_edge_iterator&gt; p;
+    typename boost::graph_traits&lt;G&gt;::vertex_descriptor v;
+    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
+    G g;
+  };
+</PRE>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/Buffer.html
==============================================================================
--- trunk/libs/graph/doc/Buffer.html    (original)
+++ trunk/libs/graph/doc/Buffer.html    Mon Mar 30 07:58:04 2009
@@ -1,118 +1,118 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Buffer</Title>
-</HEAD>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<h3>Buffer Concept</h3>
-
-A Buffer is something in which items can be put and removed.
-The Buffer <i>concept</i> has very few requirements. It does
-not require any particular ordering of how the items are stored or in
-what order they will appear when removed, however, there is typically
-some sort of ordering policy.
-
-<h3>Notation</h3>
-
-<table>
-<tr> <td> <tt>B</tt> </td> <td> is a type that models Buffer. </td></tr> -<tr> <td> <tt>T</tt> </td> <td> is the value type of <tt>B</tt>. </td></tr> -<tr> <td> <tt>t</tt> </td> <td> is an object of type <tt>T</tt>. </td></tr>
-</table>
-
-
-<h3>Members</h3>
-
-For a type to model the Buffer concept it must have the following members.
-
-<p>
-
-<table border="1">
-
-<tr> <td><b>Member</b></td> <td><b>Description</b></td> </tr>
-
-<tr> <td> <tt>value_type</tt> </td>
-     <td> The type of object stored in the Buffer. The value type
- must be <A href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>.</td>
-    </tr>
-
-<tr> <td> <tt>size_type</tt>  </td>
-     <td> An unsigned integral type for representing the number of
-          objects in the Buffer.</td>
-    </tr>
-
-<tr> <td> <tt>void push(const T& t)</tt> </td>
-     <td> Inserts <tt>t</tt> into the Buffer. <tt>size()</tt> will be
-          incremented by one.</td>
-     </tr>
-
-<tr> <td> <tt>void pop()</tt> </td>
-     <td> Removes an object from the Buffer. <tt>size()</tt> will be
-          decremented by one. Precondition: <tt>empty()</tt>
-          is <tt>false</tt>. </td>
-     </tr>
-
-<tr> <td> <tt>T& top()</tt> </td>
-     <td> Returns a mutable reference to some object in the Buffer.
-          Precondition: <tt>empty()</tt> is <tt>false</tt>.</td>
-     </tr>
-
-<tr> <td> <tt>const T& top() const</tt> </td>
-     <td> Returns a const reference to some object in the Buffer.
-          Precondition: <tt>empty()</tt> is <tt>false</tt>.</td>
-     </tr>
-
-<tr> <td> <tt>size_type size() const</tt> </td>
-     <td> Returns the number of objects in the Buffer.
-          Invariant: <tt>size() >= 0</tt>. </td>
-     </tr>
-
-<tr> <td> <tt>bool empty() const</tt> </td>
-     <td> Equivalent to <tt>b.size() == 0</tt>.</td>
-     </tr>
-
-</table>
-
-<h3>Complexity Guarantees</h3>
-
-<UL>
-
-<LI> <tt>push()</tt>, <tt>pop()</tt>, and <tt>size()</tt> must be at
-most linear time complexity in the size of the Generalized Queue.
-
-<LI> <tt>top()</tt> and <tt>empty()</tt> must be amortized constant time.
-
-</UL>
-
-<h3>Models</h3>
-
-<UL>
-<LI><a href="http://www.sgi.com/tech/stl/stack.html";><tt>std::stack</tt></a> -<LI><a href="../../../boost/pending/mutable_queue.hpp"><tt>boost::mutable_queue</tt></a>
-</UL>
-
-<p>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University and C++ Library & Compiler Group/SGI (<A HREF="mailto:jsiek@xxxxxxxxxxxx";>jsiek@xxxxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
-
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Buffer</Title>
+</HEAD>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<h3>Buffer Concept</h3>
+
+A Buffer is something in which items can be put and removed.
+The Buffer <i>concept</i> has very few requirements. It does
+not require any particular ordering of how the items are stored or in
+what order they will appear when removed, however, there is typically
+some sort of ordering policy.
+
+<h3>Notation</h3>
+
+<table>
+<tr> <td> <tt>B</tt> </td> <td> is a type that models Buffer. </td></tr> +<tr> <td> <tt>T</tt> </td> <td> is the value type of <tt>B</tt>. </td></tr> +<tr> <td> <tt>t</tt> </td> <td> is an object of type <tt>T</tt>. </td></tr>
+</table>
+
+
+<h3>Members</h3>
+
+For a type to model the Buffer concept it must have the following members.
+
+<p>
+
+<table border="1">
+
+<tr> <td><b>Member</b></td> <td><b>Description</b></td> </tr>
+
+<tr> <td> <tt>value_type</tt> </td>
+     <td> The type of object stored in the Buffer. The value type
+ must be <A href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>.</td>
+    </tr>
+
+<tr> <td> <tt>size_type</tt>  </td>
+     <td> An unsigned integral type for representing the number of
+          objects in the Buffer.</td>
+    </tr>
+
+<tr> <td> <tt>void push(const T& t)</tt> </td>
+     <td> Inserts <tt>t</tt> into the Buffer. <tt>size()</tt> will be
+          incremented by one.</td>
+     </tr>
+
+<tr> <td> <tt>void pop()</tt> </td>
+     <td> Removes an object from the Buffer. <tt>size()</tt> will be
+          decremented by one. Precondition: <tt>empty()</tt>
+          is <tt>false</tt>. </td>
+     </tr>
+
+<tr> <td> <tt>T& top()</tt> </td>
+     <td> Returns a mutable reference to some object in the Buffer.
+          Precondition: <tt>empty()</tt> is <tt>false</tt>.</td>
+     </tr>
+
+<tr> <td> <tt>const T& top() const</tt> </td>
+     <td> Returns a const reference to some object in the Buffer.
+          Precondition: <tt>empty()</tt> is <tt>false</tt>.</td>
+     </tr>
+
+<tr> <td> <tt>size_type size() const</tt> </td>
+     <td> Returns the number of objects in the Buffer.
+          Invariant: <tt>size() >= 0</tt>. </td>
+     </tr>
+
+<tr> <td> <tt>bool empty() const</tt> </td>
+     <td> Equivalent to <tt>b.size() == 0</tt>.</td>
+     </tr>
+
+</table>
+
+<h3>Complexity Guarantees</h3>
+
+<UL>
+
+<LI> <tt>push()</tt>, <tt>pop()</tt>, and <tt>size()</tt> must be at
+most linear time complexity in the size of the Generalized Queue.
+
+<LI> <tt>top()</tt> and <tt>empty()</tt> must be amortized constant time.
+
+</UL>
+
+<h3>Models</h3>
+
+<UL>
+<LI><a href="http://www.sgi.com/tech/stl/stack.html";><tt>std::stack</tt></a> +<LI><a href="../../../boost/pending/mutable_queue.hpp"><tt>boost::mutable_queue</tt></a>
+</UL>
+
+<p>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University and C++ Library & Compiler Group/SGI (<A HREF="mailto:jsiek@xxxxxxxxxxxx";>jsiek@xxxxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>
+

Modified: trunk/libs/graph/doc/ColorValue.html
==============================================================================
--- trunk/libs/graph/doc/ColorValue.html        (original)
+++ trunk/libs/graph/doc/ColorValue.html        Mon Mar 30 07:58:04 2009
@@ -1,108 +1,108 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine  2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: ColorValue Concept</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-<H1><A NAME="concept:ColorValue"></A>
-ColorValue
-</H1>
-
-<P>
-This concept describes the requirements for the type used for color
-values, as in for coloring a graph during a breath-first search to
-mark which vertices have been visited.
-
-<P>
-
-<h3>Refinement of</h3> <a
-href="http://www.sgi.com/tech/stl/EqualityComparable.html";>EqualityComparable</a>
-and <a
-href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>DefaultConstructible</a>
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>T</tt></TD>
-<TD>A type that is a model of ColorValue.</TD>
-</TR>
-
-<TR>
-<TD><tt>cv</tt></TD>
-<TD>An object of type <tt>T</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Get Color White </td>
-<TD><TT>color_traits&lt;T&gt;::white()</TT></TD>
-<TD><TT>T</TT></TD>
-<TD>Returns an object that represents the color white.</TD>
-</TR>
-
-<tr>
-<td>Get Color Gray </td>
-<TD><TT>color_traits&lt;T&gt;::gray()</TT></TD>
-<TD><TT>T</TT></TD>
-<TD>Returns an object that represents the color gray.</TD>
-</TR>
-
-<tr>
-<td>Get Color Black </td>
-<TD><TT>color_traits&lt;T&gt;::black()</TT></TD>
-<TD><TT>T</TT></TD>
-<TD>Returns an object that represents the color black.</TD>
-</TR>
-
-</TABLE>
-
-<P>
-</LI>
-</UL>
-
-<h3>Models</h3>
-
-<ul>
- <li><tt>default_color_type</tt> (in <a href="../../../boost/graph/properties.hpp"><tt>boost/graph/properties.hpp</tt>)
-</ul>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine  2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: ColorValue Concept</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+<H1><A NAME="concept:ColorValue"></A>
+ColorValue
+</H1>
+
+<P>
+This concept describes the requirements for the type used for color
+values, as in for coloring a graph during a breath-first search to
+mark which vertices have been visited.
+
+<P>
+
+<h3>Refinement of</h3> <a
+href="http://www.sgi.com/tech/stl/EqualityComparable.html";>EqualityComparable</a>
+and <a
+href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>DefaultConstructible</a>
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>T</tt></TD>
+<TD>A type that is a model of ColorValue.</TD>
+</TR>
+
+<TR>
+<TD><tt>cv</tt></TD>
+<TD>An object of type <tt>T</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Get Color White </td>
+<TD><TT>color_traits&lt;T&gt;::white()</TT></TD>
+<TD><TT>T</TT></TD>
+<TD>Returns an object that represents the color white.</TD>
+</TR>
+
+<tr>
+<td>Get Color Gray </td>
+<TD><TT>color_traits&lt;T&gt;::gray()</TT></TD>
+<TD><TT>T</TT></TD>
+<TD>Returns an object that represents the color gray.</TD>
+</TR>
+
+<tr>
+<td>Get Color Black </td>
+<TD><TT>color_traits&lt;T&gt;::black()</TT></TD>
+<TD><TT>T</TT></TD>
+<TD>Returns an object that represents the color black.</TD>
+</TR>
+
+</TABLE>
+
+<P>
+</LI>
+</UL>
+
+<h3>Models</h3>
+
+<ul>
+ <li><tt>default_color_type</tt> (in <a href="../../../boost/graph/properties.hpp"><tt>boost/graph/properties.hpp</tt>)
+</ul>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/DFSVisitor.html
==============================================================================
--- trunk/libs/graph/doc/DFSVisitor.html        (original)
+++ trunk/libs/graph/doc/DFSVisitor.html        Mon Mar 30 07:58:04 2009
@@ -1,212 +1,212 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>DFS Visitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><img src="figs/python.gif" alt="(Python)"/>DFS Visitor Concept</H1>
-
-This concept defines the visitor interface for <a
-href="./depth_first_search.html"><tt>depth_first_search()</tt></a>.
-Users can define a class with the DFS Visitor interface and pass an
-object of the class to <tt>depth_first_search()</tt>, thereby
-augmenting the actions taken during the graph search.
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of DFS Visitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>s,u</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Initialize Vertex</td>
-<td><tt>vis.initialize_vertex(s, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every vertex of the graph before the start of the
-graph search.
-</td>
-</tr>
-
-<tr>
-<td>Start Vertex</td>
-<td><tt>vis.start_vertex(s, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on the source vertex once before the start of the
-search.
-</td>
-</tr>
-
-<tr>
-<td>Discover Vertex</td>
-<td><tt>vis.discover_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked when a vertex is encountered for the first time.
-</td>
-</tr>
-
-<tr>
-<td>Examine Edge</td>
-<td><tt>vis.examine_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every out-edge of each vertex after it is discovered.
-</td>
-</tr>
-
-
-<tr>
-<td>Tree Edge</td>
-<td><tt>vis.tree_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on each edge as it becomes a member of the edges that
-form the search tree.</td>
-</tr>
-
-<tr>
-<td>Back Edge</td>
-<td><tt>vis.back_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on the back edges in the graph.  For an undirected
-graph there is some ambiguity between tree edges and back edges since
-the edge <i>(u,v)</i> and <i>(v,u)</i> are the same edge, but both the
-<tt>tree_edge()</tt> and <tt>back_edge()</tt> functions will be
-invoked. One way to resolve this ambiguity is to record the tree
-edges, and then disregard the back-edges that are already marked as
-tree edges.  An easy way to record tree edges is to record
-predecessors at the <tt>tree_edge</tt> event point.
-</td>
-</tr>
-
-<tr>
-<td>Forward or Cross Edge</td>
-<td><tt>vis.forward_or_cross_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on forward or cross edges in the graph. In an
-undirected graph this method is never called.
-</td>
-</tr>
-
-<tr>
-<td>Finish Vertex</td>
-<td><tt>vis.finish_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on vertex <tt>u</tt> after <tt>finish_vertex</tt> has
-been called for all the vertices in the DFS-tree rooted at vertex
-<tt>u</tt>. If vertex <tt>u</tt> is a leaf in the DFS-tree, then
-the <tt>finish_vertex</tt> function is call on <tt>u</tt> after
-all the out-edges of <tt>u</tt> have been examined.
-</td>
-</tr>
-
-</table>
-
-<h3>Models</h3>
-
-<ul>
- <li><a href="./dfs_visitor.html"><tt>dfs_visitor</tt></a>
-</ul>
-
-<a name="python"></a>
-<h3>Python</h3>
-
-To implement a model of the <tt>DFSVisitor</tt> concept in Python,
-create a new class that derives from the <tt>DFSVisitor</tt> type of
-the graph, which will be
-named <tt><i>GraphType</i>.DFSVisitor</tt>. The events and syntax are
-the same as with visitors in C++. Here is an example for the
-Python <tt>bgl.Graph</tt> graph type:
-
-<pre>
-class count_tree_edges_dfs_visitor(bgl.Graph.DFSVisitor):
-  def __init__(self, name_map):
-    bgl.Graph.DFSVisitor.__init__(self)
-    self.name_map = name_map
-
-  def tree_edge(self, e, g):
-    (u, v) = (g.source(e), g.target(e))
-    print "Tree edge ",
-    print self.name_map[u],
-    print " -> ",
-    print self.name_map[v]
-</pre>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>DFS Visitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><img src="figs/python.gif" alt="(Python)"/>DFS Visitor Concept</H1>
+
+This concept defines the visitor interface for <a
+href="./depth_first_search.html"><tt>depth_first_search()</tt></a>.
+Users can define a class with the DFS Visitor interface and pass an
+object of the class to <tt>depth_first_search()</tt>, thereby
+augmenting the actions taken during the graph search.
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of DFS Visitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>s,u</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Initialize Vertex</td>
+<td><tt>vis.initialize_vertex(s, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every vertex of the graph before the start of the
+graph search.
+</td>
+</tr>
+
+<tr>
+<td>Start Vertex</td>
+<td><tt>vis.start_vertex(s, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on the source vertex once before the start of the
+search.
+</td>
+</tr>
+
+<tr>
+<td>Discover Vertex</td>
+<td><tt>vis.discover_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked when a vertex is encountered for the first time.
+</td>
+</tr>
+
+<tr>
+<td>Examine Edge</td>
+<td><tt>vis.examine_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every out-edge of each vertex after it is discovered.
+</td>
+</tr>
+
+
+<tr>
+<td>Tree Edge</td>
+<td><tt>vis.tree_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on each edge as it becomes a member of the edges that
+form the search tree.</td>
+</tr>
+
+<tr>
+<td>Back Edge</td>
+<td><tt>vis.back_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on the back edges in the graph.  For an undirected
+graph there is some ambiguity between tree edges and back edges since
+the edge <i>(u,v)</i> and <i>(v,u)</i> are the same edge, but both the
+<tt>tree_edge()</tt> and <tt>back_edge()</tt> functions will be
+invoked. One way to resolve this ambiguity is to record the tree
+edges, and then disregard the back-edges that are already marked as
+tree edges.  An easy way to record tree edges is to record
+predecessors at the <tt>tree_edge</tt> event point.
+</td>
+</tr>
+
+<tr>
+<td>Forward or Cross Edge</td>
+<td><tt>vis.forward_or_cross_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on forward or cross edges in the graph. In an
+undirected graph this method is never called.
+</td>
+</tr>
+
+<tr>
+<td>Finish Vertex</td>
+<td><tt>vis.finish_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on vertex <tt>u</tt> after <tt>finish_vertex</tt> has
+been called for all the vertices in the DFS-tree rooted at vertex
+<tt>u</tt>. If vertex <tt>u</tt> is a leaf in the DFS-tree, then
+the <tt>finish_vertex</tt> function is call on <tt>u</tt> after
+all the out-edges of <tt>u</tt> have been examined.
+</td>
+</tr>
+
+</table>
+
+<h3>Models</h3>
+
+<ul>
+ <li><a href="./dfs_visitor.html"><tt>dfs_visitor</tt></a>
+</ul>
+
+<a name="python"></a>
+<h3>Python</h3>
+
+To implement a model of the <tt>DFSVisitor</tt> concept in Python,
+create a new class that derives from the <tt>DFSVisitor</tt> type of
+the graph, which will be
+named <tt><i>GraphType</i>.DFSVisitor</tt>. The events and syntax are
+the same as with visitors in C++. Here is an example for the
+Python <tt>bgl.Graph</tt> graph type:
+
+<pre>
+class count_tree_edges_dfs_visitor(bgl.Graph.DFSVisitor):
+  def __init__(self, name_map):
+    bgl.Graph.DFSVisitor.__init__(self)
+    self.name_map = name_map
+
+  def tree_edge(self, e, g):
+    (u, v) = (g.source(e), g.target(e))
+    print "Tree edge ",
+    print self.name_map[u],
+    print " -> ",
+    print self.name_map[v]
+</pre>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/DijkstraVisitor.html
==============================================================================
--- trunk/libs/graph/doc/DijkstraVisitor.html   (original)
+++ trunk/libs/graph/doc/DijkstraVisitor.html   Mon Mar 30 07:58:04 2009
@@ -1,222 +1,222 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: Dijkstra Visitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><img src="figs/python.gif" alt="(Python)"/>Dijkstra Visitor Concept</H1>
-
-This concept defines the visitor interface for <a
-href="./dijkstra_shortest_paths.html"><tt>dijkstra_shortest_paths()</tt></a>
-and related algorithms. The user can create a class that matches this
-interface, and then pass objects of the class into
-<tt>dijkstra_shortest_paths()</tt> to augment the actions taken during
-the search.
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of Dijkstra Visitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>s,u,v</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>DistanceMap</tt></TD>
-<TD>A type that is a model of <a href="../../property_map/ReadWritePropertyMap.html">Read/Write Property Map</a>.</TD>
-</TR>
-
-<TR>
-<TD><tt>d</tt></TD>
-<TD>An object of type <tt>DistanceMap</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>WeightMap</tt></TD>
-<TD>A type that is a model of <a href="../../property_map/ReadWritePropertyMap.html">Readable Property Map</a>.</TD>
-</TR>
-
-<TR>
-<TD><tt>w</tt></TD>
-<TD>An object of type <tt>DistanceMap</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-none
-<p>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Initialize Vertex</td>
-<td><tt>vis.initialize_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked one each vertex of the graph when it is initialized.
-</td>
-</tr>
-
-<tr>
-<td>Examine Vertex</td>
-<td><tt>vis.examine_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on a vertex as it is popped from the queue. This
-happens immediately before <tt>examine_edge()</tt> is invoked
-on each of the out-edges of vertex <tt>u</tt>.
-</td>
-</tr>
-
-<tr>
-<td>Examine Edge</td>
-<td><tt>vis.examine_edge(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked on every out-edge of each vertex after it is discovered.
-</td>
-</tr>
-
-<tr>
-<td>Discover Vertex</td>
-<td><tt>vis.discover_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This is invoked when a vertex is encountered for the first time.
-</td>
-</tr>
-
-<tr>
-<td>Edge Relaxed</td>
-<td><tt>vis.edge_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if the following condition holds then the edge
-is relaxed (its distance is reduced), and this method is invoked.<br>
-<tt>
-tie(u,v) = incident(e, g);<br>
-D d_u = get(d, u), d_v = get(d, v);<br>
-W w_e = get(w, e);<br>
-assert(compare(combine(d_u, w_e), d_v));<br>
-</tt>
-</td>
-</tr>
-
-<tr>
-<td>Edge Not Relaxed</td>
-<td><tt>vis.edge_not_relaxed(e, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-Upon examination, if the edge is not relaxed (see above) then
-this method is invoked.
-</td>
-</tr>
-
-<tr>
-<td>Finish Vertex</td>
-<td><tt>vis.finish_vertex(u, g)</tt></td>
-<td><tt>void</tt></td>
-<td>
-This invoked on a vertex after all of its out edges have been added to the
-search tree and all of the adjacent vertices have been discovered
-(but before their out-edges have been examined).
-</td>
-</tr>
-
-</table>
-
-<h3>Models</h3>
-
-<ul>
- <li><a href="./dijkstra_visitor.html"><tt>dijkstra_visitor</tt></a>
-</ul>
-
-<a name="python"></a>
-<h3>Python</h3>
-
-To implement a model of the <tt>DijkstraVisitor</tt> concept in Python,
-create a new class that derives from the <tt>DijkstraVisitor</tt> type of
-the graph, which will be
-named <tt><i>GraphType</i>.DijkstraVisitor</tt>. The events and syntax are
-the same as with visitors in C++. Here is an example for the
-Python <tt>bgl.Graph</tt> graph type:
-
-<pre>
-class count_tree_edges_dijkstra_visitor(bgl.Graph.DijkstraVisitor):
-  def __init__(self, name_map):
-    bgl.Graph.DijkstraVisitor.__init__(self)
-    self.name_map = name_map
-
-  def edge_relaxed(self, e, g):
-    (u, v) = (g.source(e), g.target(e))
-    print "Relaxed edge ",
-    print self.name_map[u],
-    print " -> ",
-    print self.name_map[v]
-</pre>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: Dijkstra Visitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><img src="figs/python.gif" alt="(Python)"/>Dijkstra Visitor Concept</H1>
+
+This concept defines the visitor interface for <a
+href="./dijkstra_shortest_paths.html"><tt>dijkstra_shortest_paths()</tt></a>
+and related algorithms. The user can create a class that matches this
+interface, and then pass objects of the class into
+<tt>dijkstra_shortest_paths()</tt> to augment the actions taken during
+the search.
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of Dijkstra Visitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>s,u,v</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>DistanceMap</tt></TD>
+<TD>A type that is a model of <a href="../../property_map/ReadWritePropertyMap.html">Read/Write Property Map</a>.</TD>
+</TR>
+
+<TR>
+<TD><tt>d</tt></TD>
+<TD>An object of type <tt>DistanceMap</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>WeightMap</tt></TD>
+<TD>A type that is a model of <a href="../../property_map/ReadWritePropertyMap.html">Readable Property Map</a>.</TD>
+</TR>
+
+<TR>
+<TD><tt>w</tt></TD>
+<TD>An object of type <tt>DistanceMap</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+none
+<p>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Initialize Vertex</td>
+<td><tt>vis.initialize_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked one each vertex of the graph when it is initialized.
+</td>
+</tr>
+
+<tr>
+<td>Examine Vertex</td>
+<td><tt>vis.examine_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on a vertex as it is popped from the queue. This
+happens immediately before <tt>examine_edge()</tt> is invoked
+on each of the out-edges of vertex <tt>u</tt>.
+</td>
+</tr>
+
+<tr>
+<td>Examine Edge</td>
+<td><tt>vis.examine_edge(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked on every out-edge of each vertex after it is discovered.
+</td>
+</tr>
+
+<tr>
+<td>Discover Vertex</td>
+<td><tt>vis.discover_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This is invoked when a vertex is encountered for the first time.
+</td>
+</tr>
+
+<tr>
+<td>Edge Relaxed</td>
+<td><tt>vis.edge_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if the following condition holds then the edge
+is relaxed (its distance is reduced), and this method is invoked.<br>
+<tt>
+tie(u,v) = incident(e, g);<br>
+D d_u = get(d, u), d_v = get(d, v);<br>
+W w_e = get(w, e);<br>
+assert(compare(combine(d_u, w_e), d_v));<br>
+</tt>
+</td>
+</tr>
+
+<tr>
+<td>Edge Not Relaxed</td>
+<td><tt>vis.edge_not_relaxed(e, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+Upon examination, if the edge is not relaxed (see above) then
+this method is invoked.
+</td>
+</tr>
+
+<tr>
+<td>Finish Vertex</td>
+<td><tt>vis.finish_vertex(u, g)</tt></td>
+<td><tt>void</tt></td>
+<td>
+This invoked on a vertex after all of its out edges have been added to the
+search tree and all of the adjacent vertices have been discovered
+(but before their out-edges have been examined).
+</td>
+</tr>
+
+</table>
+
+<h3>Models</h3>
+
+<ul>
+ <li><a href="./dijkstra_visitor.html"><tt>dijkstra_visitor</tt></a>
+</ul>
+
+<a name="python"></a>
+<h3>Python</h3>
+
+To implement a model of the <tt>DijkstraVisitor</tt> concept in Python,
+create a new class that derives from the <tt>DijkstraVisitor</tt> type of
+the graph, which will be
+named <tt><i>GraphType</i>.DijkstraVisitor</tt>. The events and syntax are
+the same as with visitors in C++. Here is an example for the
+Python <tt>bgl.Graph</tt> graph type:
+
+<pre>
+class count_tree_edges_dijkstra_visitor(bgl.Graph.DijkstraVisitor):
+  def __init__(self, name_map):
+    bgl.Graph.DijkstraVisitor.__init__(self)
+    self.name_map = name_map
+
+  def edge_relaxed(self, e, g):
+    (u, v) = (g.source(e), g.target(e))
+    print "Relaxed edge ",
+    print self.name_map[u],
+    print " -> ",
+    print self.name_map[v]
+</pre>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/EdgeListGraph.html
==============================================================================
--- trunk/libs/graph/doc/EdgeListGraph.html     (original)
+++ trunk/libs/graph/doc/EdgeListGraph.html     Mon Mar 30 07:58:04 2009
@@ -1,184 +1,184 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>EdgeListGraph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-<H2><A NAME="concept:EdgeListGraph"></A>
-EdgeListGraph
-</H2>
-
-The EdgeListGraph concept refines the <a href="./Graph.html">Graph</a>
-concept, and adds the requirement for efficient access to all the
-edges in the graph.
-
-
-<H3>Refinement of</H3>
-
-<a href="./Graph.html">Graph</a>
-
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of EdgeListGraph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<H3>Associated Types</H3>
-
-<table border>
-
-<tr>
-<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
- This tag type must be convertible to <tt>edge_list_graph_tag</tt>.
-</td>
-</tr>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::edge_iterator</pre>
-An edge iterator (obtained via <TT>edges(g)</TT>) provides access to
-all of the edges in a graph. An edge iterator type must meet the
-requirements of <a
-href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>. The
-value type of the edge iterator must be the same as the edge
-descriptor of the graph.
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::edges_size_type</pre>
-The unsigned integer type used to represent the number of edges in the
-graph.
-</td>
-</tr>
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-<table border>
-
-<tr>
-<TD><a name="sec:edges"><TT>edges(g)</TT></a></TD>
-<TD>Returns an iterator-range providing access to all
-     the edges in the graph <TT>g</TT>.<br>
-Return type: <TT>std::pair&lt;edge_iterator, edge_iterator&gt;</TT>
-</td>
-</TR>
-
-<tr>
-<TD><TT>num_edges(g)</TT></TD>
-<TD>Returns the number of edges in the graph <TT>g</TT>.<br>
-Return type: <TT>edges_size_type</TT>
-</td>
-</TR>
-
-<tr>
-<TD><TT>source(e, g)</TT></TD>
-<TD>
-Returns the vertex descriptor for <i>u</i> of the edge <i>(u,v)</i>
-represented by <TT>e</TT>.<br>
-Return type: <TT>vertex_descriptor</TT>
-</td>
-</tr>
-
-<tr>
-<TD><TT>target(e, g)</TT></TD>
-<TD>
-Returns the vertex descriptor for
-<i>v</i> of the edge <i>(u,v)</i> represented by  <TT>e</TT>.<br>
-Return type: <TT>vertex_descriptor</TT>
-</TD>
-</TR>
-
-</TABLE>
-
-
-<H3>Models</H3>
-
-<UL>
-<LI><a href="./adjacency_list.html"><TT>adjacency_list</TT></a></LI>
-<LI><a href="./edge_list.html"><TT>edge_list</TT></a></LI>
-</UL>
-
-
-<H3>Complexity guarantees</H3>
-
-The <TT>edges()</TT>, <TT>source()</TT>, and <TT>target()</TT> functions
-must all return in constant time.
-
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>
-
-<H3>Concept Checking Class</H3>
-
-<P>
-<PRE>
-  template &lt;class G&gt;
-  struct EdgeListGraphConcept
-  {
-    typedef typename boost::graph_traits&lt;G&gt;::edge_iterator
-      edge_iterator;
-    void constraints() {
-      function_requires&lt; GraphConcept&lt;G&gt; &gt;();
- function_requires&lt; MultiPassInputIteratorConcept&lt;edge_iterator&gt; &gt;();
-
-      p = edges(g);
-      E = num_edges(g);
-      e = *p.first;
-      u = source(e, g);
-      v = target(e, g);
-      const_constraints(g);
-    }
-    void const_constraints(const G&amp; g) {
-      p = edges(g);
-      E = num_edges(g);
-      e = *p.first;
-      u = source(e, g);
-      v = target(e, g);
-    }
-    std::pair&lt;edge_iterator,edge_iterator&gt; p;
-    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
-    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
-    typename boost::graph_traits&lt;G&gt;::edges_size_type E;
-    G g;
-  };
-</PRE>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>EdgeListGraph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+<H2><A NAME="concept:EdgeListGraph"></A>
+EdgeListGraph
+</H2>
+
+The EdgeListGraph concept refines the <a href="./Graph.html">Graph</a>
+concept, and adds the requirement for efficient access to all the
+edges in the graph.
+
+
+<H3>Refinement of</H3>
+
+<a href="./Graph.html">Graph</a>
+
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of EdgeListGraph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<H3>Associated Types</H3>
+
+<table border>
+
+<tr>
+<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
+ This tag type must be convertible to <tt>edge_list_graph_tag</tt>.
+</td>
+</tr>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::edge_iterator</pre>
+An edge iterator (obtained via <TT>edges(g)</TT>) provides access to
+all of the edges in a graph. An edge iterator type must meet the
+requirements of <a
+href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>. The
+value type of the edge iterator must be the same as the edge
+descriptor of the graph.
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::edges_size_type</pre>
+The unsigned integer type used to represent the number of edges in the
+graph.
+</td>
+</tr>
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+<table border>
+
+<tr>
+<TD><a name="sec:edges"><TT>edges(g)</TT></a></TD>
+<TD>Returns an iterator-range providing access to all
+     the edges in the graph <TT>g</TT>.<br>
+Return type: <TT>std::pair&lt;edge_iterator, edge_iterator&gt;</TT>
+</td>
+</TR>
+
+<tr>
+<TD><TT>num_edges(g)</TT></TD>
+<TD>Returns the number of edges in the graph <TT>g</TT>.<br>
+Return type: <TT>edges_size_type</TT>
+</td>
+</TR>
+
+<tr>
+<TD><TT>source(e, g)</TT></TD>
+<TD>
+Returns the vertex descriptor for <i>u</i> of the edge <i>(u,v)</i>
+represented by <TT>e</TT>.<br>
+Return type: <TT>vertex_descriptor</TT>
+</td>
+</tr>
+
+<tr>
+<TD><TT>target(e, g)</TT></TD>
+<TD>
+Returns the vertex descriptor for
+<i>v</i> of the edge <i>(u,v)</i> represented by  <TT>e</TT>.<br>
+Return type: <TT>vertex_descriptor</TT>
+</TD>
+</TR>
+
+</TABLE>
+
+
+<H3>Models</H3>
+
+<UL>
+<LI><a href="./adjacency_list.html"><TT>adjacency_list</TT></a></LI>
+<LI><a href="./edge_list.html"><TT>edge_list</TT></a></LI>
+</UL>
+
+
+<H3>Complexity guarantees</H3>
+
+The <TT>edges()</TT>, <TT>source()</TT>, and <TT>target()</TT> functions
+must all return in constant time.
+
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>
+
+<H3>Concept Checking Class</H3>
+
+<P>
+<PRE>
+  template &lt;class G&gt;
+  struct EdgeListGraphConcept
+  {
+    typedef typename boost::graph_traits&lt;G&gt;::edge_iterator
+      edge_iterator;
+    void constraints() {
+      function_requires&lt; GraphConcept&lt;G&gt; &gt;();
+ function_requires&lt; MultiPassInputIteratorConcept&lt;edge_iterator&gt; &gt;();
+
+      p = edges(g);
+      E = num_edges(g);
+      e = *p.first;
+      u = source(e, g);
+      v = target(e, g);
+      const_constraints(g);
+    }
+    void const_constraints(const G&amp; g) {
+      p = edges(g);
+      E = num_edges(g);
+      e = *p.first;
+      u = source(e, g);
+      v = target(e, g);
+    }
+    std::pair&lt;edge_iterator,edge_iterator&gt; p;
+    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
+    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
+    typename boost::graph_traits&lt;G&gt;::edges_size_type E;
+    G g;
+  };
+</PRE>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/EdgeMutableGraph.html
==============================================================================
--- trunk/libs/graph/doc/EdgeMutableGraph.html  (original)
+++ trunk/libs/graph/doc/EdgeMutableGraph.html  Mon Mar 30 07:58:04 2009
@@ -1,108 +1,108 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2001
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Edge Mutable Graph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-<H2><A NAME="concept:EdgeMutableGraph">
-Edge Mutable Graph
-</H2>
-
-The <I>Edge Mutable Graph</I> concept defines the interface for a
-graph that supports the addition and removal of edges.
-
-<H3>Refinement of</H3>
-
-<a href="./Graph.html">Graph</a>
-
-<H3>Associated Types</H3>
-
-No additional associated types.
-
-<h3>Valid Expressions</h3>
-
-<ul>
-
-<li><a name="sec:add_edge"><TT>add_edge(u, v, g)</TT></a>
-<b>returns</b> <TT>std::pair&lt;edge_descriptor,&nbsp;bool&gt;</TT>
-<br><br>
-
-<b>Semantics:</b> Try to insert the edge <i>(u,v)</i> into the graph,
-returning the inserted edge or a parallel edge and a flag that
-specifies whether an edge was inserted.  This operation must not
-invalidate vertex descriptors or vertex iterators of the graph, though
-it may invalidate edge descriptors or edge iterators.<br>
-
-<b>Preconditions:</b> <i>u</i> and <i>v</i> are vertices in the
-graph. <br>
-
-<b>Postconditions:</b> <i>(u,v)</i> is in the edge set of
-the graph.  The returned edge descriptor will have <i>u</i> in the
-source position and <i>v</i> in the target position. If the graph
-allows parallel edges, then the returned flag is always
-<tt>true</tt>. If the graph does not allow parallel edges, if
-<i>(u,v)</i> was already in the graph then the returned flag is
-<tt>false</tt>. If <i>(u,v)</i> was not in the graph then the returned
-flag is <tt>true</tt>.<br>
-</li><br>
-
-<li><a name="sec:remove_edge_by_pair"><tt>remove_edge(u, v, g)</tt></a>
-<b>returns</b> <tt>void</tt><br><br>
-<b>Semantics:</b> Remove the edge <i>(u,v)</i> from the graph. If the
-graph allows parallel edges this removes all occurrences of <i>(u,v)</i>. <br>
-<b>Precondition:</b> <i>(u,v)</i> is in the edge set of the graph. <br>
-<b>Postcondition:</b> <i>(u,v)</i> is no longer in the edge set of the graph. <br>
-</li><br>
-
-<li>
-<a name="sec:remove_edge"><tt>remove_edge(e, g)</tt></a>
-<b>returns</b> <tt>void</tt><br><br>
-<b>Semantics:</b> Remove the edge <i>e</i> from the graph.<br>
-<b>Precondition:</b> <i>e</i> is an edge in the graph. <br>
-<b>Postcondition:</b> <i>e</i> is no longer in the edge set for <tt>g</tt>. <br>
-</li><br>
-
-<li>
-<a name="sec:clear_vertex"><tt>clear_vertex(u, g)</tt></a>
-<b>returns</b> <tt>void</tt><br><br>
-<b>Semantics:</b> Remove all edges to and from vertex <i>u</i> from the graph. <br>
-<b>Precondition:</b> <i>u</i> is a valid vertex descriptor of
-<tt>g</tt>. <br> <b>Postconditions:</b> <i>u</i> does not appear as a
-source or target of any edge in <tt>g</tt>.
-</li>
-
-</ul>
-
-
-<H3>Complexity guarantees</H3>
-
-<P>
-UNDER CONSTRUCTION
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2001
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Edge Mutable Graph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+
+<H2><A NAME="concept:EdgeMutableGraph">
+Edge Mutable Graph
+</H2>
+
+The <I>Edge Mutable Graph</I> concept defines the interface for a
+graph that supports the addition and removal of edges.
+
+<H3>Refinement of</H3>
+
+<a href="./Graph.html">Graph</a>
+
+<H3>Associated Types</H3>
+
+No additional associated types.
+
+<h3>Valid Expressions</h3>
+
+<ul>
+
+<li><a name="sec:add_edge"><TT>add_edge(u, v, g)</TT></a>
+<b>returns</b> <TT>std::pair&lt;edge_descriptor,&nbsp;bool&gt;</TT>
+<br><br>
+
+<b>Semantics:</b> Try to insert the edge <i>(u,v)</i> into the graph,
+returning the inserted edge or a parallel edge and a flag that
+specifies whether an edge was inserted.  This operation must not
+invalidate vertex descriptors or vertex iterators of the graph, though
+it may invalidate edge descriptors or edge iterators.<br>
+
+<b>Preconditions:</b> <i>u</i> and <i>v</i> are vertices in the
+graph. <br>
+
+<b>Postconditions:</b> <i>(u,v)</i> is in the edge set of
+the graph.  The returned edge descriptor will have <i>u</i> in the
+source position and <i>v</i> in the target position. If the graph
+allows parallel edges, then the returned flag is always
+<tt>true</tt>. If the graph does not allow parallel edges, if
+<i>(u,v)</i> was already in the graph then the returned flag is
+<tt>false</tt>. If <i>(u,v)</i> was not in the graph then the returned
+flag is <tt>true</tt>.<br>
+</li><br>
+
+<li><a name="sec:remove_edge_by_pair"><tt>remove_edge(u, v, g)</tt></a>
+<b>returns</b> <tt>void</tt><br><br>
+<b>Semantics:</b> Remove the edge <i>(u,v)</i> from the graph. If the
+graph allows parallel edges this removes all occurrences of <i>(u,v)</i>. <br>
+<b>Precondition:</b> <i>(u,v)</i> is in the edge set of the graph. <br>
+<b>Postcondition:</b> <i>(u,v)</i> is no longer in the edge set of the graph. <br>
+</li><br>
+
+<li>
+<a name="sec:remove_edge"><tt>remove_edge(e, g)</tt></a>
+<b>returns</b> <tt>void</tt><br><br>
+<b>Semantics:</b> Remove the edge <i>e</i> from the graph.<br>
+<b>Precondition:</b> <i>e</i> is an edge in the graph. <br>
+<b>Postcondition:</b> <i>e</i> is no longer in the edge set for <tt>g</tt>. <br>
+</li><br>
+
+<li>
+<a name="sec:clear_vertex"><tt>clear_vertex(u, g)</tt></a>
+<b>returns</b> <tt>void</tt><br><br>
+<b>Semantics:</b> Remove all edges to and from vertex <i>u</i> from the graph. <br>
+<b>Precondition:</b> <i>u</i> is a valid vertex descriptor of
+<tt>g</tt>. <br> <b>Postconditions:</b> <i>u</i> does not appear as a
+source or target of any edge in <tt>g</tt>.
+</li>
+
+</ul>
+
+
+<H3>Complexity guarantees</H3>
+
+<P>
+UNDER CONSTRUCTION
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/EventVisitor.html
==============================================================================
--- trunk/libs/graph/doc/EventVisitor.html      (original)
+++ trunk/libs/graph/doc/EventVisitor.html      Mon Mar 30 07:58:04 2009
@@ -1,161 +1,161 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: EventVisitor</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1>EventVisitor Concept</H1>
-
-This concept defines the interface for single-event visitors. An
-EventVisitor has an apply member function (<tt>operator()</tt>) which
-is invoked within the graph algorithm at the event-point specified by
-the <tt>event_filter</tt> typedef within the
-EventVisitor. EventVisitor's can be combined into an <a
-href="./EventVisitorList.html">EventVistorList</a>.
-
-<p>
-The following is the list of event tags that can be invoked in BGL
-algorithms. Each tag corresponds to a member function of the visitor
-for an algorithm. For example, the <a
-href="./BFSVisitor.html">BFSVisitor</a> of <a
-href="./breadth_first_search.html"><tt>breadth_first_search()</tt></a>
-has a <tt>cycle_edge()</tt> member function. The corresponding tag is
-<tt>on_cycle_edge</tt>. The first argument is the event visitor's
-<tt>operator()</tt> must be either an edge or vertex descriptor
-depending on the event tag.
-
-<pre>
-namespace boost {
-  struct on_initialize_vertex { };
-  struct on_start_vertex { };
-  struct on_discover_vertex { };
-  struct on_examine_edge { };
-  struct on_tree_edge { };
-  struct on_cycle_edge { };
-  struct on_finish_vertex { };
-  struct on_forward_or_cross_edge { };
-  struct on_back_edge { };
-  struct on_edge_relaxed { };
-  struct on_edge_not_relaxed { };
-  struct on_edge_minimized { };
-  struct on_edge_not_minimized { };
-} // namespace boost
-</pre>
-
-
-<h3>Refinement of</h3>
-
-<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
-(copying a visitor should be a lightweight operation).
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of <a href="./Graph.html">Graph</a>.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>V</tt></TD>
-<TD>A type that is a model of EventVisitor.</TD>
-</TR>
-
-<TR>
-<TD><tt>vis</tt></TD>
-<TD>An object of type <tt>V</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>x</tt></TD>
-<TD>An object of type
-<tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>
-or <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<h3>Associated Types</h3>
-
-<Table border>
-
-<TR>
-<TD>Event Filter </TD>
-<TD><TT>V::event_filter</TT></TD>
-<TD>
-A tag struct to specify on which event the visitor should be invoked.
-</TD>
-</TR>
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
-</tr>
-
-<tr>
-<td>Apply Visitor</td>
-<td><TT>vis(x, g)</TT></TD>
-<TD><TT>void</TT></TD>
-<TD>
-Invokes the visitor operation on object <tt>x</tt>, which is
-either a vertex or edge descriptor of the graph.
-</TD>
-</TR>
-
-
-</table>
-
-
-<h3>Models</h3>
-
-<ul>
- <li><a
- href="./predecessor_recorder.html"><tt>predecessor_recorder</tt></a>
- <li><a href="./distance_recorder.html"><tt>distance_recorder</tt></a>
- <li><a href="./time_stamper.html"><tt>time_stamper</tt></a>
- <li><a href="./property_writer.html"><tt>property_writer</tt></a>
- <li><a href="./null_visitor.html"><tt>null_visitor</tt></a>
-</ul>
-
-<h3>See Also</h3>
-
-<a href="./EventVisitorList.html">EventVisitorList</a>,
-<a href="./visitor_concepts.html">Visitor concepts</a>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: EventVisitor</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1>EventVisitor Concept</H1>
+
+This concept defines the interface for single-event visitors. An
+EventVisitor has an apply member function (<tt>operator()</tt>) which
+is invoked within the graph algorithm at the event-point specified by
+the <tt>event_filter</tt> typedef within the
+EventVisitor. EventVisitor's can be combined into an <a
+href="./EventVisitorList.html">EventVistorList</a>.
+
+<p>
+The following is the list of event tags that can be invoked in BGL
+algorithms. Each tag corresponds to a member function of the visitor
+for an algorithm. For example, the <a
+href="./BFSVisitor.html">BFSVisitor</a> of <a
+href="./breadth_first_search.html"><tt>breadth_first_search()</tt></a>
+has a <tt>cycle_edge()</tt> member function. The corresponding tag is
+<tt>on_cycle_edge</tt>. The first argument is the event visitor's
+<tt>operator()</tt> must be either an edge or vertex descriptor
+depending on the event tag.
+
+<pre>
+namespace boost {
+  struct on_initialize_vertex { };
+  struct on_start_vertex { };
+  struct on_discover_vertex { };
+  struct on_examine_edge { };
+  struct on_tree_edge { };
+  struct on_cycle_edge { };
+  struct on_finish_vertex { };
+  struct on_forward_or_cross_edge { };
+  struct on_back_edge { };
+  struct on_edge_relaxed { };
+  struct on_edge_not_relaxed { };
+  struct on_edge_minimized { };
+  struct on_edge_not_minimized { };
+} // namespace boost
+</pre>
+
+
+<h3>Refinement of</h3>
+
+<a href="../../utility/CopyConstructible.html">Copy Constructible</a>
+(copying a visitor should be a lightweight operation).
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of <a href="./Graph.html">Graph</a>.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>V</tt></TD>
+<TD>A type that is a model of EventVisitor.</TD>
+</TR>
+
+<TR>
+<TD><tt>vis</tt></TD>
+<TD>An object of type <tt>V</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>x</tt></TD>
+<TD>An object of type
+<tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>
+or <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<h3>Associated Types</h3>
+
+<Table border>
+
+<TR>
+<TD>Event Filter </TD>
+<TD><TT>V::event_filter</TT></TD>
+<TD>
+A tag struct to specify on which event the visitor should be invoked.
+</TD>
+</TR>
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<th>Name</th><th>Expression</th><th>Return Type</th><th>Description</th>
+</tr>
+
+<tr>
+<td>Apply Visitor</td>
+<td><TT>vis(x, g)</TT></TD>
+<TD><TT>void</TT></TD>
+<TD>
+Invokes the visitor operation on object <tt>x</tt>, which is
+either a vertex or edge descriptor of the graph.
+</TD>
+</TR>
+
+
+</table>
+
+
+<h3>Models</h3>
+
+<ul>
+ <li><a
+ href="./predecessor_recorder.html"><tt>predecessor_recorder</tt></a>
+ <li><a href="./distance_recorder.html"><tt>distance_recorder</tt></a>
+ <li><a href="./time_stamper.html"><tt>time_stamper</tt></a>
+ <li><a href="./property_writer.html"><tt>property_writer</tt></a>
+ <li><a href="./null_visitor.html"><tt>null_visitor</tt></a>
+</ul>
+
+<h3>See Also</h3>
+
+<a href="./EventVisitorList.html">EventVisitorList</a>,
+<a href="./visitor_concepts.html">Visitor concepts</a>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/EventVisitorList.html
==============================================================================
--- trunk/libs/graph/doc/EventVisitorList.html  (original)
+++ trunk/libs/graph/doc/EventVisitorList.html  Mon Mar 30 07:58:04 2009
@@ -1,127 +1,127 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Boost Graph Library: EventVisitorList</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1>EventVisitorList Concept</H1>
-
-An EventVisitorList is either an <a
-href="./EventVisitor.html">EventVisitor</a>, or a list of
-EventVisitor's combined using <tt>std::pair</tt>. Each graph algorithm
-defines visitor adaptors that convert an EventVisitorList into the
-particular kind of visitor needed by the algorithm.
-
-In the following example we will show how to combine event visitors
-into a list using <tt>std::pair</tt> and how to use an algorithm's
-visitor adaptor class.
-
-<p>
-Suppose we would like to print out the parenthesis
-structure of the discover/finish times of vertices in a <a
-href="./graph_theory_review.html#sec:dfs-algorithm">depth-first
-search</a>. We can use the BGL algorithm <a
-href="./depth_first_search.html"><tt>depth_first_search()</tt></a> and
-two event visitors to accomplish this. The complete source code for
-the following example is in <a href="../example/dfs_parenthesis.cpp">
-<tt>examples/dfs_parenthesis.cpp</tt></a>. First we define the two
-event visitors. We use <tt>on_discover_vertex</tt> and
-<tt>on_finish_vertex</tt> as the event points, selected from the list
-of event points specified in <a
-href="./DFSVisitor.html">DFSVisitor</a>.
-
-<pre>
-struct open_paren : public base_visitor&lt;open_paren&gt; {
-  typedef on_discover_vertex event_filter;
-  template &lt;class Vertex, class Graph&gt;
-  void operator()(Vertex v, Graph& G) {
-    std::cout &lt;&lt; "(" &lt;&lt; v;
-  }
-};
-struct close_paren : public base_visitor&lt;close_paren&gt; {
-  typedef on_finish_vertex event_filter;
-  template &lt;class Vertex, class Graph&gt;
-  void operator()(Vertex v, Graph& G) {
-    std::cout &lt;&lt; v &lt;&lt; ")";
-  }
-};
-</pre>
-
-Next we create two event visitor objects and make an EventVisitorList
-out of them using a <tt>std::pair</tt> which created by
-<tt>std::make_pair</tt>.
-
-<pre>
-std::make_pair(open_paren(), close_paren())
-</pre>
-
-Next we want to pass this list into <tt>depth_first_search()</tt>, but
-<tt>depth_first_search()</tt> is expecting a <a
-href="./DFSVisitor.html">DFSVisitor</a>, not a EventVisitorList.  We
-therefore use the <a
-href="./dfs_visitor.html"><tt>dfs_visitor</tt></a> adaptor which turns
-an EventVisitor list into a DFSVisitor. Like all of the visitor
-adaptors, <tt>dfs_visitor</tt> has a creation function called
-<tt>make_dfs_visitor()</tt>.
-
-<pre>
-make_dfs_visitor(std::make_pair(open_paren(), close_paren()))
-</pre>
-
-Now we can pass the resulting visitor object into
-<tt>depth_first_search()</tt> as follows.
-
-<pre>
-  // graph object G is created ...
-
-  std::vector&lt;default_color_type&gt; color(num_vertices(G));
-
- depth_first_search(G, make_dfs_visitor(std::make_pair(open_paren(), close_paren())),
-                     color.begin());
-</pre>
-
-For creating a list of more than two event visitors, nest calls to
-<tt>std::make_pair</tt> in the following way:
-
-<pre>
-std::make_pair(<i>visitor1</i>,
-  std::make_pair(<i>visitor2</i>,
-    ...
-    std::make_pair(<i>visitorN-1</i>, <i>visitorN</i>)...));
-</pre>
-
-
-
-<h3>See Also</h3>
-
-<a href="./EventVisitor.html">EventVisitor</a>,
-<a href="./visitor_concepts.html">Visitor concepts</a>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Boost Graph Library: EventVisitorList</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1>EventVisitorList Concept</H1>
+
+An EventVisitorList is either an <a
+href="./EventVisitor.html">EventVisitor</a>, or a list of
+EventVisitor's combined using <tt>std::pair</tt>. Each graph algorithm
+defines visitor adaptors that convert an EventVisitorList into the
+particular kind of visitor needed by the algorithm.
+
+In the following example we will show how to combine event visitors
+into a list using <tt>std::pair</tt> and how to use an algorithm's
+visitor adaptor class.
+
+<p>
+Suppose we would like to print out the parenthesis
+structure of the discover/finish times of vertices in a <a
+href="./graph_theory_review.html#sec:dfs-algorithm">depth-first
+search</a>. We can use the BGL algorithm <a
+href="./depth_first_search.html"><tt>depth_first_search()</tt></a> and
+two event visitors to accomplish this. The complete source code for
+the following example is in <a href="../example/dfs_parenthesis.cpp">
+<tt>examples/dfs_parenthesis.cpp</tt></a>. First we define the two
+event visitors. We use <tt>on_discover_vertex</tt> and
+<tt>on_finish_vertex</tt> as the event points, selected from the list
+of event points specified in <a
+href="./DFSVisitor.html">DFSVisitor</a>.
+
+<pre>
+struct open_paren : public base_visitor&lt;open_paren&gt; {
+  typedef on_discover_vertex event_filter;
+  template &lt;class Vertex, class Graph&gt;
+  void operator()(Vertex v, Graph& G) {
+    std::cout &lt;&lt; "(" &lt;&lt; v;
+  }
+};
+struct close_paren : public base_visitor&lt;close_paren&gt; {
+  typedef on_finish_vertex event_filter;
+  template &lt;class Vertex, class Graph&gt;
+  void operator()(Vertex v, Graph& G) {
+    std::cout &lt;&lt; v &lt;&lt; ")";
+  }
+};
+</pre>
+
+Next we create two event visitor objects and make an EventVisitorList
+out of them using a <tt>std::pair</tt> which created by
+<tt>std::make_pair</tt>.
+
+<pre>
+std::make_pair(open_paren(), close_paren())
+</pre>
+
+Next we want to pass this list into <tt>depth_first_search()</tt>, but
+<tt>depth_first_search()</tt> is expecting a <a
+href="./DFSVisitor.html">DFSVisitor</a>, not a EventVisitorList.  We
+therefore use the <a
+href="./dfs_visitor.html"><tt>dfs_visitor</tt></a> adaptor which turns
+an EventVisitor list into a DFSVisitor. Like all of the visitor
+adaptors, <tt>dfs_visitor</tt> has a creation function called
+<tt>make_dfs_visitor()</tt>.
+
+<pre>
+make_dfs_visitor(std::make_pair(open_paren(), close_paren()))
+</pre>
+
+Now we can pass the resulting visitor object into
+<tt>depth_first_search()</tt> as follows.
+
+<pre>
+  // graph object G is created ...
+
+  std::vector&lt;default_color_type&gt; color(num_vertices(G));
+
+ depth_first_search(G, make_dfs_visitor(std::make_pair(open_paren(), close_paren())),
+                     color.begin());
+</pre>
+
+For creating a list of more than two event visitors, nest calls to
+<tt>std::make_pair</tt> in the following way:
+
+<pre>
+std::make_pair(<i>visitor1</i>,
+  std::make_pair(<i>visitor2</i>,
+    ...
+    std::make_pair(<i>visitorN-1</i>, <i>visitorN</i>)...));
+</pre>
+
+
+
+<h3>See Also</h3>
+
+<a href="./EventVisitor.html">EventVisitor</a>,
+<a href="./visitor_concepts.html">Visitor concepts</a>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/Graph.html
==============================================================================
--- trunk/libs/graph/doc/Graph.html     (original)
+++ trunk/libs/graph/doc/Graph.html     Mon Mar 30 07:58:04 2009
@@ -1,149 +1,149 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Graph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H2><A NAME="concept:Graph"></A>
-Graph
-</H2>
-
-<P>
-The Graph concept contains a few requirements that are common to all
-the graph concepts. These include some associated types for
-<tt>vertex_descriptor</tt>, <tt>edge_descriptor</tt>, etc. One should
-note that a model of Graph is <B>not</B> required to be a model of <a
-href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>,
-so algorithms should pass graph objects by reference.
-
-<P>
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-</table>
-
-<H3>Associated Types</H3>
-
-<table border>
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::vertex_descriptor</pre>
-A vertex descriptor corresponds to a unique vertex in an abstract
-graph instance. A vertex descriptor must be
-<a
-href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>Default Constructible</a>,
-<a href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>, and
-<a href="http://www.sgi.com/tech/stl/EqualityComparable.html";>Equality Comparable</a>.
-</td>
-</tr>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::edge_descriptor</pre>
-An edge descriptor corresponds to a unique edge <i>(u,v)</i> in a
-graph.  An edge descriptor must be <a
-href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>Default Constructible</I>,
-<a
-href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>,
-and <a href="http://www.sgi.com/tech/stl/EqualityComparable.html";>Equality Comparable</a>.
-</td>
-</tr>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::directed_category</pre>
-This type shall be convertible to <TT>directed_tag</TT> or <TT>undirected_tag</TT>.
-</td>
-</tr>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::edge_parallel_category</pre>
-This describes whether the graph class allows the insertion of
-parallel edges (edges with the same source and target). The two tags
-are <TT>allow_parallel_edge_tag</TT> and <TT>disallow_parallel_edge_tag</TT>.
-</td>
-</tr>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::traversal_category</pre>
-This describes the ways in which the vertices and edges of the
-graph can be visited. The choices are <TT>incidence_graph_tag</TT>,
-<TT>adjacency_graph_tag</TT>, <TT>bidirectional_graph_tag</TT>,
-<TT>vertex_list_graph_tag</TT>, <TT>edge_list_graph_tag</TT>, and
-<TT>adjacency_matrix_tag</TT>.
-</td>
-</tr>
-
-</table>
-
-<H3>Valid Expressions</H3>
-
-<table border>
-
-<tr>
-<td><pre>boost::graph_traits&lt;G&gt;::null_vertex()</pre></td></TD>
-<td>
-Returns a special <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt> object which does not refer to
-any vertex of graph object which type is <tt>G</tt>.
-<td>
-</tr>
-</table>
-
-
-
-<H3>Concept Checking Class</H3>
-
-<PRE>
-  template &lt;class G&gt;
-  struct GraphConcept
-  {
- typedef typename boost::graph_traits&lt;G&gt;::vertex_descriptor vertex_descriptor; - typedef typename boost::graph_traits&lt;G&gt;::edge_descriptor edge_descriptor; - typedef typename boost::graph_traits&lt;G&gt;::directed_category directed_category; - typedef typename boost::graph_traits&lt;G&gt;::edge_parallel_category edge_parallel_category; - typedef typename boost::graph_traits&lt;G&gt;::traversal_category traversal_category;
-
-    void constraints() {
- function_requires&lt; DefaultConstructibleConcept&lt;vertex_descriptor&gt; &gt;(); - function_requires&lt; EqualityComparableConcept&lt;vertex_descriptor&gt; &gt;(); - function_requires&lt; AssignableConcept&lt;vertex_descriptor&gt; &gt;(); - function_requires&lt; DefaultConstructibleConcept&lt;edge_descriptor&gt; &gt;(); - function_requires&lt; EqualityComparableConcept&lt;edge_descriptor&gt; &gt;(); - function_requires&lt; AssignableConcept&lt;edge_descriptor&gt; &gt;();
-    }
-    G g;
-  };
-</PRE>
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Graph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H2><A NAME="concept:Graph"></A>
+Graph
+</H2>
+
+<P>
+The Graph concept contains a few requirements that are common to all
+the graph concepts. These include some associated types for
+<tt>vertex_descriptor</tt>, <tt>edge_descriptor</tt>, etc. One should
+note that a model of Graph is <B>not</B> required to be a model of <a
+href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>,
+so algorithms should pass graph objects by reference.
+
+<P>
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of Graph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+</table>
+
+<H3>Associated Types</H3>
+
+<table border>
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::vertex_descriptor</pre>
+A vertex descriptor corresponds to a unique vertex in an abstract
+graph instance. A vertex descriptor must be
+<a
+href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>Default Constructible</a>,
+<a href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>, and
+<a href="http://www.sgi.com/tech/stl/EqualityComparable.html";>Equality Comparable</a>.
+</td>
+</tr>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::edge_descriptor</pre>
+An edge descriptor corresponds to a unique edge <i>(u,v)</i> in a
+graph.  An edge descriptor must be <a
+href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>Default Constructible</I>,
+<a
+href="http://www.sgi.com/tech/stl/Assignable.html";>Assignable</a>,
+and <a href="http://www.sgi.com/tech/stl/EqualityComparable.html";>Equality Comparable</a>.
+</td>
+</tr>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::directed_category</pre>
+This type shall be convertible to <TT>directed_tag</TT> or <TT>undirected_tag</TT>.
+</td>
+</tr>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::edge_parallel_category</pre>
+This describes whether the graph class allows the insertion of
+parallel edges (edges with the same source and target). The two tags
+are <TT>allow_parallel_edge_tag</TT> and <TT>disallow_parallel_edge_tag</TT>.
+</td>
+</tr>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::traversal_category</pre>
+This describes the ways in which the vertices and edges of the
+graph can be visited. The choices are <TT>incidence_graph_tag</TT>,
+<TT>adjacency_graph_tag</TT>, <TT>bidirectional_graph_tag</TT>,
+<TT>vertex_list_graph_tag</TT>, <TT>edge_list_graph_tag</TT>, and
+<TT>adjacency_matrix_tag</TT>.
+</td>
+</tr>
+
+</table>
+
+<H3>Valid Expressions</H3>
+
+<table border>
+
+<tr>
+<td><pre>boost::graph_traits&lt;G&gt;::null_vertex()</pre></td></TD>
+<td>
+Returns a special <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt> object which does not refer to
+any vertex of graph object which type is <tt>G</tt>.
+<td>
+</tr>
+</table>
+
+
+
+<H3>Concept Checking Class</H3>
+
+<PRE>
+  template &lt;class G&gt;
+  struct GraphConcept
+  {
+ typedef typename boost::graph_traits&lt;G&gt;::vertex_descriptor vertex_descriptor; + typedef typename boost::graph_traits&lt;G&gt;::edge_descriptor edge_descriptor; + typedef typename boost::graph_traits&lt;G&gt;::directed_category directed_category; + typedef typename boost::graph_traits&lt;G&gt;::edge_parallel_category edge_parallel_category; + typedef typename boost::graph_traits&lt;G&gt;::traversal_category traversal_category;
+
+    void constraints() {
+ function_requires&lt; DefaultConstructibleConcept&lt;vertex_descriptor&gt; &gt;(); + function_requires&lt; EqualityComparableConcept&lt;vertex_descriptor&gt; &gt;(); + function_requires&lt; AssignableConcept&lt;vertex_descriptor&gt; &gt;(); + function_requires&lt; DefaultConstructibleConcept&lt;edge_descriptor&gt; &gt;(); + function_requires&lt; EqualityComparableConcept&lt;edge_descriptor&gt; &gt;(); + function_requires&lt; AssignableConcept&lt;edge_descriptor&gt; &gt;();
+    }
+    G g;
+  };
+</PRE>
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/IncidenceGraph.html
==============================================================================
--- trunk/libs/graph/doc/IncidenceGraph.html    (original)
+++ trunk/libs/graph/doc/IncidenceGraph.html    Mon Mar 30 07:58:04 2009
@@ -1,202 +1,202 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>IncidenceGraph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><A NAME="concept:IncidenceGraph"></A>
-IncidenceGraph
-</H1>
-
-The IncidenceGraph concept provides an interface for
-efficient access to the out-edges of each vertex in the graph.
-
-
-<H3>Refinement of</H3>
-
-<a href="./Graph.html">Graph</a>
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of IncidenceGraph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>u, v</tt></TD>
-<TD>Are objects of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-</table>
-
-<H3>Associated Types</H3>
-
-<Table border>
-
-<tr>
-<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
- This tag type must be convertible to <tt>incidence_graph_tag</tt>.
-</td>
-</tr>
-
-
-<TR>
-<TD>
-<pre>boost::graph_traits&lt;G&gt;::out_edge_iterator</pre>
-An out-edge iterator for a vertex <i>v</i> provides access to the
-out-edges of the vertex.  As such, the value type of an out-edge
-iterator is the edge descriptor type of its graph. An out-edge
-iterator must meet the requirements of <a
-href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
-</TD>
-</TR>
-
-<TR>
-<TD><pre>boost::graph_traits&lt;G&gt;::degree_size_type</pre>
-The unsigned intergral type used for representing the number
-out-edges or incident edges of a vertex.
-</TD>
-</TR>
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<td><a name="sec:source"><TT>source(e,&nbsp;g)</TT></a></TD>
-<TD>Returns the vertex descriptor for <i>u</i> of the edge <i>(u,v)</i> represented by <TT>e</TT>.<br>
-Return type: <TT>vertex_descriptor</TT>
-</TD>
-</TR>
-
-
-<tr>
-<td><a name="sec:target"><TT>target(e,&nbsp;g)</TT></a></TD>
-<TD>Returns the vertex descriptor for <i>v</i> of the edge <i>(u,v)</i> represented by <TT>e</TT>.<br>
-Return type: <TT>vertex_descriptor</TT>
-</td></tr>
-
-<tr>
-<td><a name="sec:out-edges"><TT>out_edges(u,&nbsp;g)</TT></a></TD>
-<TD>Returns an iterator-range providing access to the out-edges (for
-directed graphs) or incident edges (for undirected graphs) of vertex
-<TT>u</TT> in graph <TT>g</TT>.  The source vertex of an edge obtained
-via an out edge iterator is guaranteed (for both directed and
-undirected graphs) to be the vertex <tt>u</tt> used in the call to
-<tt>out_edges(u, g)</tt> and the target vertex must the a vertex
-adjacent to <tt>u</tt>.<a href="#1">[1]</a>
-<br>
-Return type: <TT>std::pair&lt;out_edge_iterator, out_edge_iterator&gt;</TT>
-</TD>
-</tr>
-
-<tr>
-<TD><TT>out_degree(u,&nbsp;g)</TT></TD>
-<TD>Returns the number of out-edges (for directed graphs) or the
-number of incident edges (for undirected graphs) of vertex <TT>u</TT>
-in graph <TT>g</TT>.<br>
-Return type: <TT>degree_size_type</TT>
-</TD>
-</TR>
-
-</TABLE>
-
-<P>
-
-<H3>Complexity guarantees</H3>
-
-<P>
-The <TT>source()</TT>, <TT>target()</TT>, and <TT>out_edges()</TT>
-functions must all be constant time. The <tt>out_degree()</tt>
-function must be linear in the number of out-edges.
-
-<P>
-
-<H3>See Also</H3>
-
-<a href="./graph_concepts.html">Graph concepts</a>
-
-<H3>Notes</H3>
-
-<a name="1">[1]</a> For undirected graphs, the edge <tt>(u,v)</tt> is
-the same as edge <tt>(v,u)</tt>, so without some extra guarantee an
-implementation would be free use any ordering for the pair of vertices
-in an out-edge. For example, if you call <tt>out_edges(u, g)</tt>, and
-<tt>v</tt> is one of the vertices adjacent to <tt>u</tt>, then the
-implementation would be free to return <tt>(v,u)</tt> as an out-edge
-which would be non-intuitive and cause trouble for algorithms.
-Therefore, the extra requirement is added that the out-edge connecting
-<tt>u</tt> and <tt>v</tt> must be given as <tt>(u,v)</tt> and not
-<tt>(v,u)</tt>.
-
-<H3>Concept Checking Class</H3>
-
-<PRE>
-  template &lt;class G&gt;
-  struct IncidenceGraphConcept
-  {
- typedef typename boost::graph_traits&lt;G&gt;::out_edge_iterator out_edge_iterator;
-    void constraints() {
-      function_requires&lt; GraphConcept&lt;G&gt; &gt;();
- function_requires&lt; MultiPassInputIteratorConcept&lt;out_edge_iterator&gt; &gt;();
-
-      p = out_edges(u, g);
-      e = *p.first;
-      u = source(e, g);
-      v = target(e, g);
-    }
-    void const_constraints(const G&amp; g) {
-      p = out_edges(u, g);
-      e = *p.first;
-      u = source(e, g);
-      v = target(e, g);
-    }
-    std::pair&lt;out_edge_iterator, out_edge_iterator&gt; p;
-    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
-    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
-    G g;
-  };
-</PRE>
-
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>IncidenceGraph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><A NAME="concept:IncidenceGraph"></A>
+IncidenceGraph
+</H1>
+
+The IncidenceGraph concept provides an interface for
+efficient access to the out-edges of each vertex in the graph.
+
+
+<H3>Refinement of</H3>
+
+<a href="./Graph.html">Graph</a>
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>G</tt></TD>
+<TD>A type that is a model of IncidenceGraph.</TD>
+</TR>
+
+<TR>
+<TD><tt>g</tt></TD>
+<TD>An object of type <tt>G</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>e</tt></TD>
+<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>u, v</tt></TD>
+<TD>Are objects of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
+</TR>
+
+</table>
+
+<H3>Associated Types</H3>
+
+<Table border>
+
+<tr>
+<td><tt>boost::graph_traits&lt;G&gt;::traversal_category</tt><br><br>
+ This tag type must be convertible to <tt>incidence_graph_tag</tt>.
+</td>
+</tr>
+
+
+<TR>
+<TD>
+<pre>boost::graph_traits&lt;G&gt;::out_edge_iterator</pre>
+An out-edge iterator for a vertex <i>v</i> provides access to the
+out-edges of the vertex.  As such, the value type of an out-edge
+iterator is the edge descriptor type of its graph. An out-edge
+iterator must meet the requirements of <a
+href="../../utility/MultiPassInputIterator.html">MultiPassInputIterator</a>.
+</TD>
+</TR>
+
+<TR>
+<TD><pre>boost::graph_traits&lt;G&gt;::degree_size_type</pre>
+The unsigned intergral type used for representing the number
+out-edges or incident edges of a vertex.
+</TD>
+</TR>
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<td><a name="sec:source"><TT>source(e,&nbsp;g)</TT></a></TD>
+<TD>Returns the vertex descriptor for <i>u</i> of the edge <i>(u,v)</i> represented by <TT>e</TT>.<br>
+Return type: <TT>vertex_descriptor</TT>
+</TD>
+</TR>
+
+
+<tr>
+<td><a name="sec:target"><TT>target(e,&nbsp;g)</TT></a></TD>
+<TD>Returns the vertex descriptor for <i>v</i> of the edge <i>(u,v)</i> represented by <TT>e</TT>.<br>
+Return type: <TT>vertex_descriptor</TT>
+</td></tr>
+
+<tr>
+<td><a name="sec:out-edges"><TT>out_edges(u,&nbsp;g)</TT></a></TD>
+<TD>Returns an iterator-range providing access to the out-edges (for
+directed graphs) or incident edges (for undirected graphs) of vertex
+<TT>u</TT> in graph <TT>g</TT>.  The source vertex of an edge obtained
+via an out edge iterator is guaranteed (for both directed and
+undirected graphs) to be the vertex <tt>u</tt> used in the call to
+<tt>out_edges(u, g)</tt> and the target vertex must the a vertex
+adjacent to <tt>u</tt>.<a href="#1">[1]</a>
+<br>
+Return type: <TT>std::pair&lt;out_edge_iterator, out_edge_iterator&gt;</TT>
+</TD>
+</tr>
+
+<tr>
+<TD><TT>out_degree(u,&nbsp;g)</TT></TD>
+<TD>Returns the number of out-edges (for directed graphs) or the
+number of incident edges (for undirected graphs) of vertex <TT>u</TT>
+in graph <TT>g</TT>.<br>
+Return type: <TT>degree_size_type</TT>
+</TD>
+</TR>
+
+</TABLE>
+
+<P>
+
+<H3>Complexity guarantees</H3>
+
+<P>
+The <TT>source()</TT>, <TT>target()</TT>, and <TT>out_edges()</TT>
+functions must all be constant time. The <tt>out_degree()</tt>
+function must be linear in the number of out-edges.
+
+<P>
+
+<H3>See Also</H3>
+
+<a href="./graph_concepts.html">Graph concepts</a>
+
+<H3>Notes</H3>
+
+<a name="1">[1]</a> For undirected graphs, the edge <tt>(u,v)</tt> is
+the same as edge <tt>(v,u)</tt>, so without some extra guarantee an
+implementation would be free use any ordering for the pair of vertices
+in an out-edge. For example, if you call <tt>out_edges(u, g)</tt>, and
+<tt>v</tt> is one of the vertices adjacent to <tt>u</tt>, then the
+implementation would be free to return <tt>(v,u)</tt> as an out-edge
+which would be non-intuitive and cause trouble for algorithms.
+Therefore, the extra requirement is added that the out-edge connecting
+<tt>u</tt> and <tt>v</tt> must be given as <tt>(u,v)</tt> and not
+<tt>(v,u)</tt>.
+
+<H3>Concept Checking Class</H3>
+
+<PRE>
+  template &lt;class G&gt;
+  struct IncidenceGraphConcept
+  {
+ typedef typename boost::graph_traits&lt;G&gt;::out_edge_iterator out_edge_iterator;
+    void constraints() {
+      function_requires&lt; GraphConcept&lt;G&gt; &gt;();
+ function_requires&lt; MultiPassInputIteratorConcept&lt;out_edge_iterator&gt; &gt;();
+
+      p = out_edges(u, g);
+      e = *p.first;
+      u = source(e, g);
+      v = target(e, g);
+    }
+    void const_constraints(const G&amp; g) {
+      p = out_edges(u, g);
+      e = *p.first;
+      u = source(e, g);
+      v = target(e, g);
+    }
+    std::pair&lt;out_edge_iterator, out_edge_iterator&gt; p;
+    typename boost::graph_traits&lt;G&gt;::vertex_descriptor u, v;
+    typename boost::graph_traits&lt;G&gt;::edge_descriptor e;
+    G g;
+  };
+</PRE>
+
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/IteratorConstructibleGraph.html
==============================================================================
--- trunk/libs/graph/doc/IteratorConstructibleGraph.html        (original)
+++ trunk/libs/graph/doc/IteratorConstructibleGraph.html Mon Mar 30 07:58:04 2009
@@ -1,161 +1,161 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>IteratorConstructibleGraph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><A NAME="concept:IteratorConstructibleGraph"></A>
-IteratorConstructibleGraph
-</H1>
-
-The IteratorConstructibleGraph concept describes the interface for
-graph types that can be constructed using a kind of edge iterator. The
-edge iterator can be any <a
-href="http://www.sgi.com/tech/stl/InputIterator.html";>InputIterator</a>
-that dereferences to a pair of integers <i>(i,j)</i>, which represent
-an edge that should be in the graph. The two integers <i>i</i> and
-<i>j</i> represent vertices where <i>0 <= i < |V|</i> and <i>0 <= j <
-|V|</i>.  The edge iterator's value type should be
-<tt>std::pair&lt;T,T&gt;</tt> (or at least be a structure that has
-members <tt>first</tt> and <tt>second</tt>) and the value type
-<tt>T</tt> of the pair must be convertible to the
-<tt>vertices_size_type</tt> of the graph (an integer).
-
-There are two valid expressions required by this concept, both of
-which are constructors. The first creates a graph object from a
-first/last iterator range. The second constructor also takes a
-first/last iterator range and in addition requires the number of
-vertices and number of edges. For some graph and edge iterator types
-the second constructor can be more efficient than the first.
-
-<h3>Example</h3>
-
-The following exampe creates two graph objects from an array of edges
-(vertex pairs). The type <tt>Edge*</tt> satisfies the requirements for
-an <a
-href="http://www.sgi.com/tech/stl/InputIterator.html";>InputIterator</a>
-and can therefore be used to construct a graph.
-
-<pre>
-  typedef ... IteratorConstructibleGraph;
-  typedef boost::graph_traits<IteratorConstructibleGraph> Traits;
-
-  typedef std::pair<Traits::vertices_size_type,
-    Traits::vertices_size_type> Edge;
-  Edge edge_array[] =
-    { Edge(0,1), Edge(0,2), Edge(0,3), Edge(0,4), Edge(0,5),
-      Edge(1, 2), Edge(1,5), Edge(1,3),
-      Edge(2, 4), Edge(2,5),
-      Edge(3, 2),
-      Edge(4, 3), Edge(4,1),
-      Edge(5, 4) };
-  Edge* first = edge_array,
-    last = edge_array + sizeof(edge_array)/sizeof(Edge);
-
-  IteratorConstructibleGraph G1(first, last);
-  // do something with G1 ...
-
-  Traits::vertices_size_type size_V = 6;
-  Traits::edges_size_type size_E = sizeof(edge_array)/sizeof(Edge);
-  IteratorConstructibleGraph G2(first, last, size_V, size_E);
-  // do something with G2 ...
-</pre>
-
-<h3>Refinement of</h3>
-
-<a href="Graph.html">Graph</a>
-
-<h3>Notation</h3>
-
-<Table>
-<tr>
-<td><tt>G</tt></td>
-<td>is a graph type that models IteratorConstructibleGraph.</td>
-<tr>
-
-<tr>
-<td><tt>g</tt></td>
-<td>is an object of type <tt>G</tt>.</td>
-</tr>
-
-<tr>
-<td><tt>first, last</tt></td>
-<td>are edge iterators (see above).</td>
-</tr>
-
-<tr>
-<td><tt>Tr</tt></td>
-<td>is an object of type <tt>graph_traits&lt;G&gt;</tt>.</td>
-</tr>
-
-<tr>
-<td><tt>n_vertices</tt></td>
-<td>is an object of type <tt>Tr::vertices_size_type</tt>.</td>
-</tr>
-
-<tr>
-<td><tt>n_edges</tt></td>
-<td>is an object of type <tt>Tr::edges_size_type</tt>.</td>
-</tr>
-
-</Table>
-
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<td>
-<pre>G g(first, last);</pre>
-Construct graph object <tt>g</tt> given an edge range <tt>[first,last)</tt>.
-</td>
-<tr>
-
-<tr>
-<td>
-<pre>G g(first, last, n_vertices, n_edges);</pre>
-Construct graph object <tt>g</tt> given an edge range
-<tt>[first,last)</tt>, the number of vertices, and the number of
-edges.  Sometimes this constructor is more efficient than the
-constructor lacking the graph size information.
-</td>
-</tr>
-
-</Table>
-
-
-<!--
-<H3>Concept Checking Class</H3>
-
-<PRE>
-</PRE>
--->
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>IteratorConstructibleGraph</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><A NAME="concept:IteratorConstructibleGraph"></A>
+IteratorConstructibleGraph
+</H1>
+
+The IteratorConstructibleGraph concept describes the interface for
+graph types that can be constructed using a kind of edge iterator. The
+edge iterator can be any <a
+href="http://www.sgi.com/tech/stl/InputIterator.html";>InputIterator</a>
+that dereferences to a pair of integers <i>(i,j)</i>, which represent
+an edge that should be in the graph. The two integers <i>i</i> and
+<i>j</i> represent vertices where <i>0 <= i < |V|</i> and <i>0 <= j <
+|V|</i>.  The edge iterator's value type should be
+<tt>std::pair&lt;T,T&gt;</tt> (or at least be a structure that has
+members <tt>first</tt> and <tt>second</tt>) and the value type
+<tt>T</tt> of the pair must be convertible to the
+<tt>vertices_size_type</tt> of the graph (an integer).
+
+There are two valid expressions required by this concept, both of
+which are constructors. The first creates a graph object from a
+first/last iterator range. The second constructor also takes a
+first/last iterator range and in addition requires the number of
+vertices and number of edges. For some graph and edge iterator types
+the second constructor can be more efficient than the first.
+
+<h3>Example</h3>
+
+The following exampe creates two graph objects from an array of edges
+(vertex pairs). The type <tt>Edge*</tt> satisfies the requirements for
+an <a
+href="http://www.sgi.com/tech/stl/InputIterator.html";>InputIterator</a>
+and can therefore be used to construct a graph.
+
+<pre>
+  typedef ... IteratorConstructibleGraph;
+  typedef boost::graph_traits<IteratorConstructibleGraph> Traits;
+
+  typedef std::pair<Traits::vertices_size_type,
+    Traits::vertices_size_type> Edge;
+  Edge edge_array[] =
+    { Edge(0,1), Edge(0,2), Edge(0,3), Edge(0,4), Edge(0,5),
+      Edge(1, 2), Edge(1,5), Edge(1,3),
+      Edge(2, 4), Edge(2,5),
+      Edge(3, 2),
+      Edge(4, 3), Edge(4,1),
+      Edge(5, 4) };
+  Edge* first = edge_array,
+    last = edge_array + sizeof(edge_array)/sizeof(Edge);
+
+  IteratorConstructibleGraph G1(first, last);
+  // do something with G1 ...
+
+  Traits::vertices_size_type size_V = 6;
+  Traits::edges_size_type size_E = sizeof(edge_array)/sizeof(Edge);
+  IteratorConstructibleGraph G2(first, last, size_V, size_E);
+  // do something with G2 ...
+</pre>
+
+<h3>Refinement of</h3>
+
+<a href="Graph.html">Graph</a>
+
+<h3>Notation</h3>
+
+<Table>
+<tr>
+<td><tt>G</tt></td>
+<td>is a graph type that models IteratorConstructibleGraph.</td>
+<tr>
+
+<tr>
+<td><tt>g</tt></td>
+<td>is an object of type <tt>G</tt>.</td>
+</tr>
+
+<tr>
+<td><tt>first, last</tt></td>
+<td>are edge iterators (see above).</td>
+</tr>
+
+<tr>
+<td><tt>Tr</tt></td>
+<td>is an object of type <tt>graph_traits&lt;G&gt;</tt>.</td>
+</tr>
+
+<tr>
+<td><tt>n_vertices</tt></td>
+<td>is an object of type <tt>Tr::vertices_size_type</tt>.</td>
+</tr>
+
+<tr>
+<td><tt>n_edges</tt></td>
+<td>is an object of type <tt>Tr::edges_size_type</tt>.</td>
+</tr>
+
+</Table>
+
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<td>
+<pre>G g(first, last);</pre>
+Construct graph object <tt>g</tt> given an edge range <tt>[first,last)</tt>.
+</td>
+<tr>
+
+<tr>
+<td>
+<pre>G g(first, last, n_vertices, n_edges);</pre>
+Construct graph object <tt>g</tt> given an edge range
+<tt>[first,last)</tt>, the number of vertices, and the number of
+edges.  Sometimes this constructor is more efficient than the
+constructor lacking the graph size information.
+</td>
+</tr>
+
+</Table>
+
+
+<!--
+<H3>Concept Checking Class</H3>
+
+<PRE>
+</PRE>
+-->
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/Monoid.html
==============================================================================
--- trunk/libs/graph/doc/Monoid.html    (original)
+++ trunk/libs/graph/doc/Monoid.html    Mon Mar 30 07:58:04 2009
@@ -1,122 +1,122 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2001
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>Monoid</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-<H1><A NAME="concept:Monoid"></A>
-Monoid
-</H1>
-
-A <i>Monoid</i> is a concept that describes a simple kind of algebraic
-system. A <b>monoid</b> consists of a set of elements <i>S</i>, a
-binary operation, and an identity element. The C++ representation of a
-monoid consists of a function object that implements the binary
-operation, a set of objects that represent the elements of <i>S</i>,
-and an object that represents the identity element.
-
-
-<H3>Refinement of</H3>
-
-The element type must be a model of <a
-href="../../utility/Assignable.html">Assignable</a> and <a
-href="../../utility/CopyConstructible.html">CopyConstructible</a>.
-The function object type must be a model of <a
-href="http://www.sgi.com/tech/stl/BinaryFunction.html";>BinaryFunction</a>.
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>X</tt></TD>
-<TD>Is the element type of the Monoid.</TD>
-</TR>
-
-<TR>
-<TD><tt>a, b</tt></TD>
-<TD>are objects of type <tt>X</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>op</tt></TD>
-<TD>Is the function object implementing the Monoid operation.</TD>
-</TR>
-
-<TR>
-<TD><tt>i</tt></TD>
-<TD>is an object of type <tt>X</tt> and is the identity element
-for the Monoid.</TD>
-</TR>
-
-
-</table>
-
-<h3>Valid Expressions</h3>
-
-<Table border>
-
-<tr>
-<td><a name="sec:source"><TT>op(a,&nbsp;b)</TT></a></TD>
-<TD>See below for semantics.<br>
-Return type: <TT>X</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>a&nbsp;==&nbsp;b</TT></TD>
-<TD>Returns true if <tt>a</tt> and <tt>b</tt> represent
-     the same element of <i>S</i>.<br>
-Return type: <TT>bool</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>a&nbsp;!=&nbsp;b</TT></TD>
-<TD>Returns true if <tt>a</tt> and <tt>b</tt> represent
-     different elements of <i>S</i>.<br>
-Return type: <TT>bool</TT>
-</TD>
-</TR>
-
-</TABLE>
-
-<P>
-
-<H3>Invariants</H3>
-
-<UL>
-  <li>Closure<br>
-     The result of <tt>op(a, b)</tt> is also an element of <i>S</i>.
-  <li>Associativity<br>
-     <tt>op(op(a, b), c) == op(a, op(b, c))</tt>
-  <li>Definition of Identity Element<br>
-       <tt>op(a, i) == a</tt>
-</UL>
-
-<br>
-<HR>
-<TABLE>
-<TR valign=top>
-<TD nowrap>Copyright &copy 2000-2001</TD><TD>
-<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
-Indiana University (<A
-HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
-<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
-<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
-Indiana University (<A
-HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
-</TD></TR></TABLE>
-
-</BODY>
-</HTML>
+<HTML>
+<!--
+  -- Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2001
+  --
+  -- Distributed under 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)
+  -->
+<Head>
+<Title>Monoid</Title>
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+        ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+     ALT="C++ Boost" width="277" height="86">
+
+<BR Clear>
+
+<H1><A NAME="concept:Monoid"></A>
+Monoid
+</H1>
+
+A <i>Monoid</i> is a concept that describes a simple kind of algebraic
+system. A <b>monoid</b> consists of a set of elements <i>S</i>, a
+binary operation, and an identity element. The C++ representation of a
+monoid consists of a function object that implements the binary
+operation, a set of objects that represent the elements of <i>S</i>,
+and an object that represents the identity element.
+
+
+<H3>Refinement of</H3>
+
+The element type must be a model of <a
+href="../../utility/Assignable.html">Assignable</a> and <a
+href="../../utility/CopyConstructible.html">CopyConstructible</a>.
+The function object type must be a model of <a
+href="http://www.sgi.com/tech/stl/BinaryFunction.html";>BinaryFunction</a>.
+
+<h3>Notation</h3>
+
+<Table>
+<TR>
+<TD><tt>X</tt></TD>
+<TD>Is the element type of the Monoid.</TD>
+</TR>
+
+<TR>
+<TD><tt>a, b</tt></TD>
+<TD>are objects of type <tt>X</tt>.</TD>
+</TR>
+
+<TR>
+<TD><tt>op</tt></TD>
+<TD>Is the function object implementing the Monoid operation.</TD>
+</TR>
+
+<TR>
+<TD><tt>i</tt></TD>
+<TD>is an object of type <tt>X</tt> and is the identity element
+for the Monoid.</TD>
+</TR>
+
+
+</table>
+
+<h3>Valid Expressions</h3>
+
+<Table border>
+
+<tr>
+<td><a name="sec:source"><TT>op(a,&nbsp;b)</TT></a></TD>
+<TD>See below for semantics.<br>
+Return type: <TT>X</TT>
+</TD>
+</TR>
+
+<tr>
+<TD><TT>a&nbsp;==&nbsp;b</TT></TD>
+<TD>Returns true if <tt>a</tt> and <tt>b</tt> represent
+     the same element of <i>S</i>.<br>
+Return type: <TT>bool</TT>
+</TD>
+</TR>
+
+<tr>
+<TD><TT>a&nbsp;!=&nbsp;b</TT></TD>
+<TD>Returns true if <tt>a</tt> and <tt>b</tt> represent
+     different elements of <i>S</i>.<br>
+Return type: <TT>bool</TT>
+</TD>
+</TR>
+
+</TABLE>
+
+<P>
+
+<H3>Invariants</H3>
+
+<UL>
+  <li>Closure<br>
+     The result of <tt>op(a, b)</tt> is also an element of <i>S</i>.
+  <li>Associativity<br>
+     <tt>op(op(a, b), c) == op(a, op(b, c))</tt>
+  <li>Definition of Identity Element<br>
+       <tt>op(a, i) == a</tt>
+</UL>
+
+<br>
+<HR>
+<TABLE>
+<TR valign=top>
+<TD nowrap>Copyright &copy 2000-2001</TD><TD>
+<A HREF="http://www.boost.org/people/jeremy_siek.htm";>Jeremy Siek</A>,
+Indiana University (<A
+HREF="mailto:jsiek@xxxxxxxxxx";>jsiek@xxxxxxxxxx</A>)<br>
+<A HREF="http://www.boost.org/people/liequan_lee.htm";>Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@xxxxxxxxxxxxxx";>llee@xxxxxxxxxxxxxx</A>)<br>
+<A HREF=http://www.osl.iu.edu/~lums>Andrew Lumsdaine</A>,
+Indiana University (<A
+HREF="mailto:lums@xxxxxxxxxx";>lums@xxxxxxxxxx</A>)
+</TD></TR></TABLE>
+
+</BODY>
+</HTML>

Modified: trunk/libs/graph/doc/MutableGraph.html
==============================================================================
--- trunk/libs/graph/doc/MutableGraph.html      (original)
+++ trunk/libs/graph/doc/MutableGraph.html      Mon Mar 30 07:58:04 2009
@@ -1,299 +1,299 @@
-<HTML>
-<!--
-  -- Copyright (c) Jeremy Siek 2000
-  --
-  -- Distributed under 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)
-  -->
-<Head>
-<Title>MutableGraph</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
-        ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
-     ALT="C++ Boost" width="277" height="86">
-
-<BR Clear>
-
-
-<H2><A NAME="sec:MutableGraph"></A>
-MutableGraph
-</H2>
-
-A MutableGraph can be changed via the addition or removal of
-edges and vertices.
-
-<H3>Refinement of</H3>
-
-<a href="./Graph.html">Graph</a>
-
-<h3>Notation</h3>
-
-<Table>
-<TR>
-<TD><tt>G</tt></TD>
-<TD>A type that is a model of Graph.</TD>
-</TR>
-
-<TR>
-<TD><tt>g</tt></TD>
-<TD>An object of type <tt>G</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>e</tt></TD>
-<TD>An object of type <tt>boost::graph_traits&lt;G&gt;::edge_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>u,v</tt></TD>
-<TD>are objects of type <tt>boost::graph_traits&lt;G&gt;::vertex_descriptor</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>iter</tt></TD>
-<TD>is an object of type <tt>boost::graph_traits&lt;G&gt;::out_edge_iterator</tt>.</TD>
-</TR>
-
-<TR>
-<TD><tt>p</tt></TD>
-<TD>is an object of a type that models <a
-href="http://www.sgi.com/tech/stl/Predicate.html";>Predicate</a>
-and whose argument type matches the <tt>edge_descriptor</tt> type.
-</TR>
-
-</table>
-
-<H3>Valid Expressions</H3>
-
-<table border>
-
-<tr>
-<TD><a name="sec:add-edge"><TT>add_edge(u,&nbsp;v,&nbsp;g)</TT></a></TD>
-<TD>
-Inserts the edge <i>(u,v)</i> into the graph, and returns an edge
-descriptor pointing to the new edge. If the graph disallows parallel
-edges, and the edge <i>(u,v)</i> is already in the graph, then the
-<tt>bool</tt> flag returned is <tt>false</tt> and the returned edge
-descriptor points to the already existing edge.  Note that for
-undirected graphs, <i>(u,v)</i> is the same edge as <i>(v,u)</i>, so
-after a call to the function <tt>add_edge()</tt>, this implies that
-edge <i>(u,v)</i> will appear in the out-edges of <i>u</i> and
-<i>(u,v)</i> (or equivalently <i>(v,u)</i>) will appear in the
-out-edges of <i>v</i>.  Put another way, <i>v</i> will be adjacent to
-<i>u</i> and <i>u</i> will be adjacent to <i>v</i>.
-<br>
-Return type: <TT>std::pair&lt;edge_descriptor, bool&gt;</TT>
-</TD>
-</tr>
-
-<tr>
-<TD><a name="sec:remove_edge"><TT>remove_edge(u,&nbsp;v,&nbsp;g)</TT></a></TD>
-<TD>
-Remove the edge <i>(u,v)</i> from the graph. If the
-graph allows parallel edges this remove all occurrences of
-<i>(u,v)</i>.<br>
-Return type: <TT>void</TT><br>
-Precondition: <i>u</i> and <i>v</i> are vertices in the graph.<br>
-Postcondition: <i>(u,v)</i> is no longer in the edge set for
-<TT>g</TT>.<br>
-</TD>
-</TR>
-
-
-<tr>
-<TD><TT>remove_edge(e,&nbsp;g)</TT></TD>
-<TD>Remove the edge <i>e</i> from the graph.<br>
-Return type: <TT>void</TT><br>
-Precondition: <i>e</i> is an edge in the graph.<br>
-Postcondition: <i>e</i> is no longer in the edge set for <TT>g</TT>.
-</TD>
-</TR>
-
-<tr>
-<TD><TT>remove_edge(iter,&nbsp;g)</TT></TD>
-<TD>Remove the edge pointed to be <tt>iter</tt> from the graph.  This
-expression is only required when the graph also models <a
-href="./IncidenceGraph.html">IncidenceGraph</a>.<br>
-Return type: <TT>void</TT><br>
-Precondition: <tt>*iter</tt> is an edge in the graph.<br>
-Postcondition: <tt>*iter</tt> is no longer in the edge set for <TT>g</TT>.
-</TD>
-</TR>
-
-<tr>
-<TD><TT>remove_edge_if(p,&nbsp;g)</TT></TD>
-<TD>Remove all the edges from graph <tt>g</tt> for which
-the predicate <tt>p</tt> returns true.<br>
-Return type: <TT>void</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>remove_out_edge_if(u,&nbsp;p,&nbsp;g)</TT></TD>
-<TD>Remove all the out-edges of vertex <tt>u</tt> for which the
-predicate <tt>p</tt> returns true. This expression is only required
-when the graph also models <a
-href="./IncidenceGraph.html">IncidenceGraph</a>.<br>
-Return type: <TT>void</TT>
-</TD>
-</TR>
-
-<tr>
-<TD><TT>remove_in_edge_if(u,&nbsp;p,&nbsp;g)</TT></TD>
-<TD>Remove all the in-edges of vertex <tt>u</tt> for which the
-predicate <tt>p</tt> returns true. This expression is only required when the
-graph also models <a
-href="./BidirectionalGraph.html">BidirectionalGraph</a>.<br>
-Return type: <TT>void</TT>
-</TD>
-</TR>
-
-
-<tr>
-<TD><a name="sec:add-vertex"><TT>add_vertex(g)</TT></a></TD>
-<TD>
-Add a new vertex to the graph. The <TT>vertex_descriptor</TT> for the
-new vertex is returned.<br>
-Return type: <TT>vertex_descriptor</TT>
-</TD>
-</TR>
-
-
-<tr>
-<TD><TT>clear_vertex(u,&nbsp;g)</TT></TD>
-<TD>
-Remove all edges to and from vertex <tt>u</tt> from the graph.<br>
-Return type: <TT>void</TT><br>
-Precondition: <tt

==============================================================================
Diff truncated at 200k characters

Other related posts:

  • » [boost-doc-zh commit] r228 - 转换至1.38.0,第10次,包含以下库: - codesite-noreply