 
 
Writable Property Map
    
A Writable Property Map has the capability of setting the value
object associated with the given key object via the put()
function.
Refinement of
Copy Constructible
Notation
| PMap | A type that is a model of Writable Property Map. | 
| pmap | An object of type PMap. | 
| key | An object of type boost::property_traits<PMap>::key_type. | 
| val | An object of type boost::property_traits<PMap>::value_type. | 
Associated Types
| Value Type | boost::property_traits<PMap>::value_type | The type of the property. | 
| Key Type | boost::property_traits<PMap>::key_type | The type of the key object used to look up the property. The property
map may be templated on the key type, in which case this typedef
can be void. | 
| Property Map Category | boost::property_traits<PMap>::category | The category of the property: a type convertible to
writable_property_map_tag. | 
Valid Expressions
| Name | Expression | Return Type | Description | 
| Put Property Value[1] | put(pmap, key, val) | void | Assign val to the property associated with k. | 
Notes
[1] The function put() was originally named
set(), but was changed to avoid name conflicts with the
std::set class when using a compiler (Microsoft Visual C++)
with non-standard name lookup rules. The following example demonstrates
the problem. 
#include <set>
using namespace std;
namespace boost {
  void set() { }
}
Concept Checking Class
  template <class PMap, class Key>
  struct WritablePropertyMapConcept
  {
    typedef typename property_traits<PMap>::key_type key_type;
    typedef typename property_traits<PMap>::category Category;
    typedef boost::writable_property_map_tag WritableTag;
    void constraints() {
      function_requires< ConvertibleConcept<Category, WritableTag> >();
      put(pmap, k, val);
    }
    PMap pmap;
    Key k;
    typename property_traits<PMap>::value_type val;
  };
See Also
Property map concepts