# fn() arrayMove
Moves a range of objects into another range of objects.

Defined in | <seqan/basic.h>
Signature | `void arrayMove(sourceBegin, sourceEnd, target);`

## Parameters

`sourceBegin` | Iterator to the first element of the source range.
`sourceEnd` | Iterator behind the last element of the source range. `sourceEnd` must have the same type as `sourceBegin`.
`target` | Iterator to the first element of the target range. The target capacity should be at least as long as the source range.

## Detailed Description

The function possibly clears (but does not destroy) the source elements. If source elements must persist, consider to use arrayCopy instead.

If source and target range do not overlap, consider to use arrayMoveForward instead to improve performance.

Don't confuse this function with the standard `move` function that resembles arrayCopy.

## Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @fn arrayMove
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Moves a range of objects into another range of objects.
     *
     * @signature void arrayMove(sourceBegin, sourceEnd, target);
     *
     * @param[in] sourceBegin Iterator to the first element of the source range.
     * @param[in] sourceEnd Iterator behind the last element of the source range.
     *                      <tt>sourceEnd</tt> must have the same type as
     *                      <tt>sourceBegin</tt>.
     * @param[in] target Iterator to the first element of the target range. The
     *                   target capacity should be at least as long as the source
     *                   range.
     *
     * The function possibly clears (but does not destroy) the source elements. If
     * source elements must persist, consider to use arrayCopy instead.
     *
     * If source and target range do not overlap, consider to use arrayMoveForward
     * instead to improve performance.
     *
     * Don't confuse this function with the standard <tt>move</tt> function that
     * resembles arrayCopy.
     */