/*!
* @class DeltaMapIterator
*
* @implements BidirectionalIteratorConcept
*
* @extends Iter
*
* @headerfile <seqan/journaled_string_tree.h>
*
* @brief Bidirectional iterator over a @link DeltaMap @endlink.
*
* @signature template <typename TDeltaMap> class Iter<TDeltaMap,
* DeltaMapIteratorSpec>;
*
* @tparam TDeltaMap The delta map to iterate.
*
* @fn DeltaMapIterator#deltaType
*
* @headerfile <seqan/journaled_string_tree.h>
*
* @brief Returns the delta type associated with the current value the iterator
* is pointing to.
*
* @signature DeltaType deltaType(it);
*
* @param[in] it The iterator pointing to the value for which the delta type
* should be determined.
*
* @return DeltaType The type of the current value. Of type @link DeltaType
* @endlink.
*
* @fn DeltaMapIterator#deltaValue
*
* @headerfile <seqan/journaled_string_tree.h>
*
* @brief Returns the delta value associated with the current iterator position.
*
* @signature TDeltaValue deltaValue(it, tag);
*
* @param[in] it The iterator to query the delta event for.
* @param[in] tag The tag used to select the requested delta type.
*
* @return TDeltaValue A reference to the delta at the current iterator position
* of type @link DeltaMap#DeltaValue @endlink. @remark Note
* the expression <tt>isDeltaType(deltaType(it), tag)<\tt>
* must evaluate to <tt>true<\tt>, otherwise the result is
* undefined.
*/