# fn() arrayCopy
Copies a range of objects into another range of objects.

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

## Parameters

`sourceEnd` | Iterator behind the last element of the source range. `sourceEnd` must have the same type as `sourceBegin`.
`sourceBegin` | Iterator to the first element of the source range.
`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

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

If there is no need for the source elements to persist, consider to use arrayMoveForward instead to improve performance.

## Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

#### Dox Sources

    /*!
     * @fn arrayCopy
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Copies a range of objects into another range of objects.
     *
     * @signature void arrayCopy(sourceBegin, sourceEnd, target);
     *
     * @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] sourceBegin Iterator to the first element of the source range.
     * @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.
     *
     * If source and target range do not overlap, consider to use arrayCopyForward
     * instead to improve performance.
     *
     * If there is no need for the source elements to persist, consider to use
     * arrayMoveForward instead to improve performance.
     */