]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | <HTML> |
2 | <!-- | |
3 | Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000 | |
4 | ||
5 | Distributed under the Boost Software License, Version 1.0. | |
6 | (See accompanying file LICENSE_1_0.txt or copy at | |
7 | http://www.boost.org/LICENSE_1_0.txt) | |
8 | --> | |
9 | <Head> | |
10 | <Title>Boost Graph Library: Graph Traits</Title> | |
11 | <BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" | |
12 | ALINK="#ff0000"> | |
13 | <IMG SRC="../../../boost.png" | |
14 | ALT="C++ Boost" width="277" height="86"> | |
15 | ||
16 | <BR Clear> | |
17 | ||
18 | <H1><A NAME=""></A> | |
19 | <pre> | |
20 | adjacency_list_traits<EdgeList, VertexList, Directed> | |
21 | </pre> | |
22 | </H1> | |
23 | ||
24 | This class provides an alternate method for accessing some of the | |
25 | associated types of the <tt>adjacency_list</tt> class. The main reason | |
26 | for this class is that sometimes one would like to create graph | |
27 | properties whose values are vertex or edge descriptors. If you try to | |
28 | use <tt>graph_traits</tt> for this you will run into a problem with | |
29 | mutually recursive types. To get around this problem, the | |
30 | <tt>adjacency_list_traits</tt> class is provided, which gives the user | |
31 | access to the vertex and edge descriptor types without requiring the | |
32 | user to provide the property types for the graph. | |
33 | ||
34 | <pre> | |
35 | template <class EdgeList, class VertexList, class Directed> | |
36 | struct adjacency_list_traits { | |
37 | typedef ... vertex_descriptor; | |
38 | typedef ... edge_descriptor; | |
39 | typedef ... directed_category; | |
40 | typedef ... edge_parallel_category; | |
41 | }; | |
42 | </pre> | |
43 | ||
44 | <h3>Where Defined</h3> | |
45 | ||
46 | <a href="../../../boost/graph/adjacency_list.hpp"><tt>boost/graph/adjacency_list.hpp</tt></a> | |
47 | ||
48 | <H3>Template Parameters</H3> | |
49 | ||
50 | <P> | |
51 | <TABLE border> | |
52 | <TR> | |
53 | <th>Parameter</th><th>Description</th><th>Default</th> | |
54 | </tr> | |
55 | ||
56 | <TR><TD><TT>EdgeList</TT></TD> | |
57 | <TD> | |
58 | The selector type for the edge container implementation. | |
59 | </TD> | |
60 | <td><tt>vecS</tt></td> | |
61 | </TR> | |
62 | ||
63 | <TR><TD><TT>VertexList</TT></TD> | |
64 | <TD> | |
65 | The selector type for the vertex container implementation. | |
66 | </TD> | |
67 | <td><tt>vecS</tt></td> | |
68 | </TR> | |
69 | ||
70 | <TR><TD><TT>Directed</TT></TD> | |
71 | <TD> | |
72 | The selector type whether the graph is directed or undirected. | |
73 | </TD> | |
74 | <td><tt>directedS</tt></td> | |
75 | </TR> | |
76 | ||
77 | </table> | |
78 | ||
79 | <h3>Model of</h3> | |
80 | ||
81 | <a | |
82 | href="http://www.sgi.com/tech/stl/DefaultConstructible.html">DefaultConstructible</a> and | |
83 | <a href="http://www.sgi.com/tech/stl/Assignable.html">Assignable</a> | |
84 | ||
85 | <h3>Type Requirements</h3> | |
86 | ||
87 | Under construction. | |
88 | ||
89 | <H2>Members</H2> | |
90 | ||
91 | <p> | |
92 | ||
93 | <table border> | |
94 | <tr> | |
95 | <th>Member</th><th>Description</th> | |
96 | </tr> | |
97 | ||
98 | <tr> | |
99 | <td><tt> | |
100 | vertex_descriptor | |
101 | </tt></td> | |
102 | <td> | |
103 | The type for the objects used to identify vertices in the graph. | |
104 | </td> | |
105 | </tr> | |
106 | ||
107 | <tr> | |
108 | <td><tt> | |
109 | edge_descriptor | |
110 | </tt></td> | |
111 | <td> | |
112 | The type for the objects used to identify edges in the graph. | |
113 | </td> | |
114 | </tr> | |
115 | ||
116 | <tr> | |
117 | <td><tt> | |
118 | directed_category | |
119 | </tt></td> | |
120 | <td> | |
121 | This says whether the graph is undirected (<tt>undirected_tag</tt>) | |
122 | or directed (<tt>directed_tag</tt>). | |
123 | </td> | |
124 | </tr> | |
125 | ||
126 | <tr> | |
127 | <td><tt> | |
128 | edge_parallel_category | |
129 | </tt></td> | |
130 | <td> | |
131 | This says whether the graph allows parallel edges to be inserted | |
132 | (<tt>allow_parallel_edge_tag</tt>) or if it automatically removes | |
133 | parallel edges (<tt>disallow_parallel_edge_tag</tt>). | |
134 | </td> | |
135 | </tr> | |
136 | ||
137 | </table> | |
138 | ||
139 | <h3>See Also</h3> | |
140 | ||
141 | <a href="./adjacency_list.html"><tt>adjacency_list</tt></a> | |
142 | ||
143 | <br> | |
144 | <HR> | |
145 | <TABLE> | |
146 | <TR valign=top> | |
147 | <TD nowrap>Copyright © 2000-2001</TD><TD> | |
148 | <A HREF="http://www.boost.org/people/jeremy_siek.htm">Jeremy Siek</A>, | |
149 | Indiana University (<A | |
150 | HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>)<br> | |
151 | <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> | |
152 | <A HREF="http://www.osl.iu.edu/~lums">Andrew Lumsdaine</A>, | |
153 | Indiana University (<A | |
154 | HREF="mailto:lums@osl.iu.edu">lums@osl.iu.edu</A>) | |
155 | </TD></TR></TABLE> | |
156 | ||
157 | </BODY> | |
158 | </HTML> |