| G | A type that is a model of PropertyGraph. |
| g | An object of type G. |
| X | Either the vertex or edge descriptor type for G. |
| x | An object of type X. |
| Map | The type boost::property_map<G, Property>::const_type. |
| v | An object of type boost::property_traits<Map>::value_type. |
| PropertyTag | A type that models the PropertyTag concept. |
| p | An object of type PropertyTag. |
| pmap | An object of type Map. |
boost::property_map<G, PropertyTag>::typeThe type of the property map for the property specified by PropertyTag. This type must be a model of ReadWritePropertyMap with a key type the same as the graph's vertex or edge descriptor type. |
boost::property_map<G, PropertyTag>::const_typeThe type of the const property map for the property specified by PropertyTag. This type must be a model of ReadablePropertyMap with a key type the same as the graph's vertex or edge descriptor type. |
| get(p, g) |
Returns the property map for the property specified by the
PropertyTag type. The object p is only used to
carry the type. Return type: boost::property_map<G, PropertyTag>::type if g is mutable and boost::property_map<G, PropertyTag>::const_type otherwise. |
| get(p, g, x) |
Returns the property value (specified by the PropertyTag type)
associated with object x (a vertex or edge).
The object p is only used to carry the type.
This function is equivalent to: get(get(p, g), x) Return type: boost::property_traits<Map>::value_type |
| put(p, g, x, v) |
Set the property (specified by the PropertyTag type)
associated with object x (a vertex or edge) to
the value v. The object p is only used to carry the type.
This function is equivalent to: pmap = get(p, g); put(pmap, x, v) Return type: void |
template <class Graph, class X, class PropertyTag>
struct PropertyGraphConcept
{
typedef typename property_map<G, PropertyTag>::type Map;
typedef typename property_map<G, PropertyTag>::const_type const_Map;
void constraints() {
function_requires< GraphConcept<G> >();
function_requires< ReadWritePropertyMapConcept<Map, X> >();
function_requires< ReadablePropertyMapConcept<const_Map, X> >();
Map pmap = get(PropertyTag(), g);
pval = get(PropertyTag(), g, x);
put(PropertyTag(), g, x, pval);
ignore_unused_variable_warning(pmap);
}
void const_constraints(const G& g) {
const_Map pmap = get(PropertyTag(), g);
pval = get(PropertyTag(), g, x);
ignore_unused_variable_warning(pmap);
}
G g;
X x;
typename property_traits<Map>::value_type pval;
};
| Copyright © 2000-2001 | Jeremy Siek, Indiana University (jsiek@osl.iu.edu) |