LvaluePropertyMap
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.
Refinement of
ReadablePropertyMap
for non-mutable or ReadWritePropertyMap for mutable property map.
Notation
| 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. | 
Associated Types
| 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.
 | 
Valid Expressions
| 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. | 
Concept Checking Class
  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;
  };
See Also
Property map concepts