<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: Graph Traits</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=""></A> <pre> adjacency_list_traits<EdgeList, VertexList, Directed> </pre> </H1> This class provides an alternate method for accessing some of the associated types of the <tt>adjacency_list</tt> class. The main reason for this class is that sometimes one would like to create graph properties whose values are vertex or edge descriptors. If you try to use <tt>graph_traits</tt> for this you will run into a problem with mutually recursive types. To get around this problem, the <tt>adjacency_list_traits</tt> class is provided, which gives the user access to the vertex and edge descriptor types without requiring the user to provide the property types for the graph. <pre> template <class EdgeList, class VertexList, class Directed> struct adjacency_list_traits { typedef ... vertex_descriptor; typedef ... edge_descriptor; typedef ... directed_category; typedef ... edge_parallel_category; }; </pre> <h3>Where Defined</h3> <a href="../../../boost/graph/adjacency_list.hpp"><tt>boost/graph/adjacency_list.hpp</tt></a> <H3>Template Parameters</H3> <P> <TABLE border> <TR> <th>Parameter</th><th>Description</th><th>Default</th> </tr> <TR><TD><TT>EdgeList</TT></TD> <TD> The selector type for the edge container implementation. </TD> <td><tt>vecS</tt></td> </TR> <TR><TD><TT>VertexList</TT></TD> <TD> The selector type for the vertex container implementation. </TD> <td><tt>vecS</tt></td> </TR> <TR><TD><TT>Directed</TT></TD> <TD> The selector type whether the graph is directed or undirected. </TD> <td><tt>directedS</tt></td> </TR> </table> <h3>Model of</h3> <a href="http://www.sgi.com/tech/stl/DefaultConstructible.html">DefaultConstructible</a> and <a href="http://www.sgi.com/tech/stl/Assignable.html">Assignable</a> <h3>Type Requirements</h3> Under construction. <H2>Members</H2> <p> <table border> <tr> <th>Member</th><th>Description</th> </tr> <tr> <td><tt> vertex_descriptor </tt></td> <td> The type for the objects used to identify vertices in the graph. </td> </tr> <tr> <td><tt> edge_descriptor </tt></td> <td> The type for the objects used to identify edges in the graph. </td> </tr> <tr> <td><tt> directed_category </tt></td> <td> This says whether the graph is undirected (<tt>undirected_tag</tt>) or directed (<tt>directed_tag</tt>). </td> </tr> <tr> <td><tt> edge_parallel_category </tt></td> <td> This says whether the graph allows parallel edges to be inserted (<tt>allow_parallel_edge_tag</tt>) or if it automatically removes parallel edges (<tt>disallow_parallel_edge_tag</tt>). </td> </tr> </table> <h3>See Also</h3> <a href="./adjacency_list.html"><tt>adjacency_list</tt></a> <br> <HR> <TABLE> <TR valign=top> <TD nowrap>Copyright © 2000-2001</TD><TD> <A HREF="http://www.boost.org/people/jeremy_siek.htm">Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>)<br> <A HREF="http://www.boost.org/people/liequan_lee.htm">Lie-Quan Lee</A>, Indiana University (<A HREF="mailto:llee@cs.indiana.edu">llee@cs.indiana.edu</A>)<br> <A HREF="http://www.osl.iu.edu/~lums">Andrew Lumsdaine</A>, Indiana University (<A HREF="mailto:lums@osl.iu.edu">lums@osl.iu.edu</A>) </TD></TR></TABLE> </BODY> </HTML>