]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/graph/doc/PropertyTag.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / graph / doc / PropertyTag.html
CommitLineData
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>
19PropertyTag
20</H2>
21
22A Property Tag is a type used to name or identify properties that are
23attached to the vertices and edges of a graph. A Property type is not
24the type of the actual property values. Objects of the Property type
25are not used except to carry the type information which specifies the
26property. See the section about <A
27href="using_adjacency_list.html#sec:custom-edge-properties"> Custom
28Edge Properties</a> for a description of how to define your own
29property 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&lt;PropertyTag&gt;::type</TT> </td>
39<td>
40
41This specifies whether the property is a <a
42name="VertexPropertyTag"><b>Vertex Property Tag</b></a>
43(<tt>vertex_property_tag</tt>), an <a
44name="EdgePropertyTag"><b>Edge Property Tag</b></a> (<tt>edge_property_tag</tt>), or
45a <a name="GraphPropertyTag"><b>Graph Property Tag</b></a> which is attached to the
46graph object itself (<tt>graph_property_tag</tt>). The tags are
47defined in <a
48href="../../../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&lt;PropertyTag&gt;::value</TT> </td>
56<td>
57This is needed as a workaround when using compilers that do not
58support partial specialization (and hence prevent us from using
59<tt>boost::is_same</tt> to detect if two property tags are the same).
60The <tt>property_num</tt> traits class is defined in <a
61href="../../../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
70href="http://www.sgi.com/tech/stl/DefaultConstructible.html">Default Constructible</a>
71
72
73<h3>Models</h3>
74
75The following models of the Property Tag concept are defined
76in <a
77href="../../../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>
98and
99<a href="../../property_map/doc/property_map.html">Property Map Concepts</a>
100
101<h3>Notes</h3>
102
103On compilers that do not support partial specialization, each Property
104type is also required to specialize
105<tt>property_num&lt;PropertyTag&gt;</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 &copy; 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>