graph/doc/AdjacencyMatrix.html
Jeremy Siek f79bd7ef42 updated email addresses
[SVN r11507]
2001-11-01 17:22:28 +00:00

91 lines
2.4 KiB
HTML

<HTML>
<!--
-- Copyright (c) Jeremy Siek 2000
--
-- Permission to use, copy, modify, distribute and sell this software
-- and its documentation for any purpose is hereby granted without fee,
-- provided that the above copyright notice appears in all copies and
-- that both that copyright notice and this permission notice appear
-- in supporting documentation. Silicon Graphics makes no
-- representations about the suitability of this software for any
-- purpose. It is provided "as is" without express or implied warranty.
-->
<Head>
<Title>AdjacencyMatrix</Title>
<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
ALINK="#ff0000">
<IMG SRC="../../../c++boost.gif"
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>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>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="../../../people/jeremy_siek.htm">Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>)
</TD></TR></TABLE>
</BODY>
</HTML>