]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | <HTML> |
2 | <!-- | |
3 | Copyright (c) Jeremy Siek 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>Property</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 | <H2><A NAME="concept:PropertyTag"></A> | |
19 | PropertyTag | |
20 | </H2> | |
21 | ||
22 | A Property Tag is a type used to name or identify properties that are | |
23 | attached to the vertices and edges of a graph. A Property type is not | |
24 | the type of the actual property values. Objects of the Property type | |
25 | are not used except to carry the type information which specifies the | |
26 | property. See the section about <A | |
27 | href="using_adjacency_list.html#sec:custom-edge-properties"> Custom | |
28 | Edge Properties</a> for a description of how to define your own | |
29 | property tags. | |
30 | ||
31 | ||
32 | <h3>Associated Types</h3> | |
33 | ||
34 | <table border> | |
35 | ||
36 | <tr> | |
37 | <td>Property Kind </td> | |
38 | <td><TT>property_kind<PropertyTag>::type</TT> </td> | |
39 | <td> | |
40 | ||
41 | This specifies whether the property is a <a | |
42 | name="VertexPropertyTag"><b>Vertex Property Tag</b></a> | |
43 | (<tt>vertex_property_tag</tt>), an <a | |
44 | name="EdgePropertyTag"><b>Edge Property Tag</b></a> (<tt>edge_property_tag</tt>), or | |
45 | a <a name="GraphPropertyTag"><b>Graph Property Tag</b></a> which is attached to the | |
46 | graph object itself (<tt>graph_property_tag</tt>). The tags are | |
47 | defined in <a | |
48 | href="../../../boost/graph/properties.hpp"><tt>boost/graph/properties.hpp</tt></a>. The <tt>property_kind</tt> traits class is defined in <a href="../../../boost/pending/property.hpp"><tt>boost/pending/property.hpp</tt></a>. | |
49 | ||
50 | </td> | |
51 | </tr> | |
52 | ||
53 | <tr> | |
54 | <td>Property ID Number </td> | |
55 | <td><TT>property_num<PropertyTag>::value</TT> </td> | |
56 | <td> | |
57 | This is needed as a workaround when using compilers that do not | |
58 | support partial specialization (and hence prevent us from using | |
59 | <tt>boost::is_same</tt> to detect if two property tags are the same). | |
60 | The <tt>property_num</tt> traits class is defined in <a | |
61 | href="../../../boost/pending/property.hpp"><tt>boost/pending/property.hpp</tt></a>. | |
62 | </td> | |
63 | </tr> | |
64 | ||
65 | </table> | |
66 | ||
67 | <h3>Refinement of</h3> | |
68 | ||
69 | <a | |
70 | href="http://www.sgi.com/tech/stl/DefaultConstructible.html">Default Constructible</a> | |
71 | ||
72 | ||
73 | <h3>Models</h3> | |
74 | ||
75 | The following models of the Property Tag concept are defined | |
76 | in <a | |
77 | href="../../../boost/graph/properties.hpp"><tt>boost/graph/properties.hpp</tt></a>. | |
78 | ||
79 | <ul> | |
80 | <li><tt>vertex_index_t</tt></li> | |
81 | <li><tt>edge_index_t</tt></li> | |
82 | <li><tt>graph_name_t</tt></li> | |
83 | <li><tt>vertex_name_t</tt></li> | |
84 | <li><tt>edge_name_t</tt></li> | |
85 | <li><tt>edge_weight_t</tt></li> | |
86 | <li><tt>vertex_distance_t</tt></li> | |
87 | <li><tt>vertex_color_t</tt></li> | |
88 | <li><tt>vertex_degree_t</tt></li> | |
89 | <li><tt>vertex_out_degree_t</tt></li> | |
90 | <li><tt>vertex_in_degree_t</tt></li> | |
91 | <li><tt>vertex_discover_time_t</tt></li> | |
92 | <li><tt>vertex_finish_time_t</tt></li> | |
93 | </ul> | |
94 | ||
95 | <h3>See Also</h3> | |
96 | ||
97 | <a href="./PropertyGraph.html">PropertyGraph</a> | |
98 | and | |
99 | <a href="../../property_map/doc/property_map.html">Property Map Concepts</a> | |
100 | ||
101 | <h3>Notes</h3> | |
102 | ||
103 | On compilers that do not support partial specialization, each Property | |
104 | type is also required to specialize | |
105 | <tt>property_num<PropertyTag></tt> to contain an enum named | |
106 | <tt>value</tt> which uniquely identifies the property type. | |
107 | ||
108 | <br> | |
109 | <HR> | |
110 | <TABLE> | |
111 | <TR valign=top> | |
112 | <TD nowrap>Copyright © 2000-2001</TD><TD> | |
113 | <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>) | |
114 | </TD></TR></TABLE> | |
115 | ||
116 | </BODY> | |
117 | </HTML> |