The LvaluePropertyMap provides an interface for accessing a reference to a property object (instead of a copy of the object as in the get() function required by ReadablePropertyMap). An LvaluePropertyMap can be mutable or non-mutable. The mutable LvaluePropertyMap returns a reference whereas the non-mutable returns a const reference.
ReadablePropertyMap for non-mutable or ReadWritePropertyMap for mutable property map.
PMap | A type that is a model of LvaluePropertyMap. |
pmap | An object of type PMap. |
key | An object of type boost::property_traits<PMap>::key_type. |
Reference Type | boost::property_traits<PMap>::reference | The reference type, which must be a reference or const reference to the value typeof the property map. |
Property Map Category | boost::property_traits<PMap>::category | The category of the property: a type convertible to boost::lvalue_property_map_tag. |
Name | Expression | Return Type | Description |
---|---|---|---|
Access Property Value |
pmap[key] | value_type& for mutable, const value_type& otherwise. |
Obtain a reference to the property identified by key. |
template <class PMap, class Key> struct LvaluePropertyMapConcept { typedef typename property_traits<PMap>::category Category; typedef boost::lvalue_property_map_tag LvalueTag; typedef const typename property_traits<PMap>::value_type& const_reference; void constraints() { function_requires< ReadWritePropertyMapConcept<PMap, Key> >(); function_requires< ConvertibleConcept<Category, LvalueTag> >(); const_reference ref = pmap[k]; } PMap pmap; Key k; }; template <class PMap, class Key> struct Mutable_LvaluePropertyMapConcept { typedef typename property_traits<PMap>::category Category; typedef boost::lvalue_property_map_tag LvalueTag; typedef typename property_traits<PMap>::value_type& reference; void constraints() { function_requires< ReadWritePropertyMapConcept<PMap, Key> >(); function_requires<ConvertibleConcept<Category, LvalueTag> >(); reference ref = pmap[k]; } PMap pmap; Key k; };
Copyright © 2000 |
|