## Property

A Property type 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.

### Associated Types

Property Kind | `property_kind<Property>::type` | This specifies whether the property is a VertexProperty (`vertex_property_tag`), an EdgeProperty (`edge_property_tag`), or a GraphProperty which is attached to the graph object itself (`graph_property_tag`). The tags are defined in `boost/graph/properties.hpp`

### Refinement of

DefaultConstructible

### Models

The following models of the Property 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<Property>` to contain an enum named `value` which uniquely identifies the property type.

Copyright © 2000 | Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu)