bf217327df
Replace links to Hewlett Packard's retired Silicon Graphics STL website.
118 lines
3.5 KiB
HTML
118 lines
3.5 KiB
HTML
<HTML>
|
|
<!--
|
|
Copyright (c) Jeremy Siek 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>Property</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>
|
|
|
|
<H2><A NAME="concept:PropertyTag"></A>
|
|
PropertyTag
|
|
</H2>
|
|
|
|
A Property Tag is a type used to name or identify properties that are
|
|
attached to the vertices and edges of a graph. A Property type is not
|
|
the type of the actual property values. Objects of the Property type
|
|
are not used except to carry the type information which specifies the
|
|
property. See the section about <A
|
|
href="using_adjacency_list.html#sec:custom-edge-properties"> Custom
|
|
Edge Properties</a> for a description of how to define your own
|
|
property tags.
|
|
|
|
|
|
<h3>Associated Types</h3>
|
|
|
|
<table border>
|
|
|
|
<tr>
|
|
<td>Property Kind </td>
|
|
<td><TT>property_kind<PropertyTag>::type</TT> </td>
|
|
<td>
|
|
|
|
This specifies whether the property is a <a
|
|
name="VertexPropertyTag"><b>Vertex Property Tag</b></a>
|
|
(<tt>vertex_property_tag</tt>), an <a
|
|
name="EdgePropertyTag"><b>Edge Property Tag</b></a> (<tt>edge_property_tag</tt>), or
|
|
a <a name="GraphPropertyTag"><b>Graph Property Tag</b></a> which is attached to the
|
|
graph object itself (<tt>graph_property_tag</tt>). The tags are
|
|
defined in <a
|
|
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>.
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Property ID Number </td>
|
|
<td><TT>property_num<PropertyTag>::value</TT> </td>
|
|
<td>
|
|
This is needed as a workaround when using compilers that do not
|
|
support partial specialization (and hence prevent us from using
|
|
<tt>boost::is_same</tt> to detect if two property tags are the same).
|
|
The <tt>property_num</tt> traits class is defined in <a
|
|
href="../../../boost/pending/property.hpp"><tt>boost/pending/property.hpp</tt></a>.
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<h3>Refinement of</h3>
|
|
|
|
<a
|
|
href="http://www.boost.org/sgi/stl/DefaultConstructible.html">Default Constructible</a>
|
|
|
|
|
|
<h3>Models</h3>
|
|
|
|
The following models of the Property Tag concept are defined
|
|
in <a
|
|
href="../../../boost/graph/properties.hpp"><tt>boost/graph/properties.hpp</tt></a>.
|
|
|
|
<ul>
|
|
<li><tt>vertex_index_t</tt></li>
|
|
<li><tt>edge_index_t</tt></li>
|
|
<li><tt>graph_name_t</tt></li>
|
|
<li><tt>vertex_name_t</tt></li>
|
|
<li><tt>edge_name_t</tt></li>
|
|
<li><tt>edge_weight_t</tt></li>
|
|
<li><tt>vertex_distance_t</tt></li>
|
|
<li><tt>vertex_color_t</tt></li>
|
|
<li><tt>vertex_degree_t</tt></li>
|
|
<li><tt>vertex_out_degree_t</tt></li>
|
|
<li><tt>vertex_in_degree_t</tt></li>
|
|
<li><tt>vertex_discover_time_t</tt></li>
|
|
<li><tt>vertex_finish_time_t</tt></li>
|
|
</ul>
|
|
|
|
<h3>See Also</h3>
|
|
|
|
<a href="./PropertyGraph.html">PropertyGraph</a>
|
|
and
|
|
<a href="../../property_map/doc/property_map.html">Property Map Concepts</a>
|
|
|
|
<h3>Notes</h3>
|
|
|
|
On compilers that do not support partial specialization, each Property
|
|
type is also required to specialize
|
|
<tt>property_num<PropertyTag></tt> to contain an enum named
|
|
<tt>value</tt> which uniquely identifies the property type.
|
|
|
|
<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>)
|
|
</TD></TR></TABLE>
|
|
|
|
</BODY>
|
|
</HTML>
|