...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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) |