/*!
* @concept InputIteratorConcept
*
* @headerfile <seqan/basic.h>
*
* @extends IteratorAssociatedTypesConcept
* @extends CopyConstructibleConcept
* @extends EqualityComparableConcept
*
* @brief Iterator that allows dereferenced reading.
*
* @signature InputIteratorConcept<T>
*
* The SeqAn iterators mirror the definitions from <a href="http://generic-progr
* amming.org/languages/conceptcpp/concept_web.php?header=iterator">ConceptC++</
* a>.
*
* @see BasicOutputIteratorConcept
*
* @fn InputIteratorConcept#operator++(suffix)
*
* @brief C++ built-in suffix increment operator.
*
* @signature TIterator operator++(it, i);
*
* @param[in,out] it The iterator to increment.
* @param[in] i An integer, used to mark suffix decrement.
*
* @return TIterator A copy of the original iterator.
*
* @fn InputIteratorConcept#operator++(prefix)
*
* @brief C++ built-in prefix increment operator.
*
* @signature TIterator operator++(it);
*
* @param[in] it The iterator to increment.
*
* @return TIterator A copy of the original iterator.
*
* @fn InputIteratorConcept#operator->
*
* @brief C++ built-in structure dereference operator.
*
* @signature TResult operator->(it);
*
* @param[in] it The iterator to structure-dereference.
*
* @return TResult Either a pointer or another type. If it is another type, the
* <tt>operator-></tt> is called recursively.
*
* @fn InputIteratorConcept#goNext
*
* @brief Iterates to next position.
*
* @signature void goNext(it);
*
* @param[in,out] it The iterator to increment.
*
* This function is equivalent to <tt>++iterator</tt>.
*/