/*!
* @class InternalPointerMap
*
* @brief An internal property map using pointer to members.
*
* @signature template <typename TPropmap, TPropmap const Instance> class
* InternalPointerMap<TPropmap, Instance> tparam TPropmap A pointer
* to member type.
*
* @tparam Instance A pointer to a member of type TPropmap.
*
* @section Remark
*
* Internal property maps are used to access internal edge cargos.
*
* @fn InternalPointerMap#assignProperty:
*
* @brief Assigns a property to an item in the property map.
*
* @signature void assignProperty(pm, d, val)
*
* @param pm The property map
* @param d A vertex or edge descriptor that identifies the item in the property
* map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
* @param val The new value, where thg type of the new value must match the
* value type of the property map.
*
* @fn InternalPointerMap#property:
*
* @brief Accesses the property of an item in the property map.
*
* @signature TRef property(pm, d)
*
* @param pm The property map.
* @param d A vertex or edge descriptor that identifies the item in the property
* map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
*
* @return TRef Reference to the item in the property map of type @link
* Reference @endlink.
*
* @fn InternalPointerMap#getProperty
*
* @brief Get method for an item's property.
*
* @signature TValue getProperty(pm, d)
*
* @param pm The property map.
* @param d A vertex or edge descriptor that identifies the item in the property
* map. Types: @link VertexDescriptor @endlink, @link
* Graph#EdgeDescriptor @endlink
*
* @return TValue Reference to the item in the property map of type @link
* GetValue @endlink.
*/