/*!
* @class InternalPropertyMap InternalPropertyMap
*
* @implements PropertyMapConcept
*
* @headerfile <seqan/graph_types.h>
*
* @brief An internal property map with direct access to members.
*
* @signature template <typename TMember> class InternalPropertyMap;
*
* @tparam TMember The member type.
*
* Internal property maps are used to access internal edge cargos.
*
* @fn InternalPropertyMap#assignProperty:
*
* @brief Assigns a property to an item in the property map.
*
* @signature void assignProperty(pm, d, val)
*
* @param[in,out] pm The InternalPropertyMap to assign into.
* @param[in] d A vertex or edge descriptor that identifies the item in the
* property map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
* @param[in] val The new value, where thg type of the new value must match the
* value type of the property map.
*
* @fn InternalPropertyMap#property:
*
* @brief Accesses the property of an item in the property map.
*
* @signature TReference property(pm, d)
*
* @param[in,out] pm The property map.
* @param[in] d A vertex or edge descriptor that identifies the item in the
* property map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
*
* @return TReference @link PropertyMapConcept#Reference Reference @endlink to
* the item in the property map of type @link Reference
* @endlink.
*
* @fn InternalPropertyMap#getProperty
*
* @brief Get method for an item's property.
*
* @signature TGetValue getProperty(pm, d)
*
* @param[in] pm The property map.
* @param[in] d A vertex or edge descriptor that identifies the item in the
* property map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
*
* @return TValue Get-value of the item in the property map of type @link
* PropertyMapConcept#GetValue GetValue @endlink.
*/