/*!
* @fn convert
*
* @headerfile <seqan/basic.h>
*
* @brief Converts a value into another value.
*
* @signature T convert<Target>(source);
*
* @tparam Target The type <tt>source</tt> is converted to.
*
* @param[in] source An object that is converted to <tt>Target</tt>.
*
* @return TReturn <tt>source</tt> converted to <tt>Target</tt>. If
* <tt>source</tt> can be re-interpreted as instance of
* <tt>Target</tt>, then a reference is returned. Otherwise the
* function returns a temporary object.
*
* This function is implemented in convertImpl. Do not specialize
* <tt>convert</tt>, specialize convertImpl instead.
*
* @see convertImpl
*/