Property
PropertyTag
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
Custom
Edge Properties for a description of how to define your own
property tags.
Associated Types
Property Kind |
property_kind<PropertyTag>::type |
This specifies whether the property is a Vertex Property Tag
(vertex_property_tag), an Edge Property Tag (edge_property_tag), or
a Graph Property Tag which is attached to the
graph object itself (graph_property_tag). The tags are
defined in boost/graph/properties.hpp. The property_kind traits class is defined in boost/pending/property.hpp.
|
Property ID Number |
property_num<PropertyTag>::value |
This is needed as a workaround when using compilers that do not
support partial specialization (and hence prevent us from using
boost::is_same to detect if two property tags are the same).
The property_num traits class is defined in boost/pending/property.hpp.
|
Refinement of
Default Constructible
Models
The following models of the Property Tag concept are defined
in
boost/graph/properties.hpp.
- vertex_index_t
- edge_index_t
- graph_name_t
- vertex_name_t
- edge_name_t
- edge_weight_t
- vertex_distance_t
- vertex_color_t
- vertex_degree_t
- vertex_out_degree_t
- vertex_in_degree_t
- vertex_discover_time_t
- vertex_finish_time_t
See Also
PropertyGraph
and
Property Map Concepts
Notes
On compilers that do not support partial specialization, each Property
type is also required to specialize
property_num<PropertyTag> to contain an enum named
value which uniquely identifies the property type.