## Marshal::Copy(const container\&, int, IntPtr, int) method


Implements public static void Copy(char[] source, int startIndex, IntPtr destination, int length).

```cpp
template<typename container> static void System::Runtime::InteropServices::Marshal::Copy(const container &source, int startIndex, IntPtr destination, int length)
```


| Parameter | Description |
| --- | --- |
| container | Source container type. |

| Parameter | Type | Description |
| --- | --- | --- |
| source | const container\& | Source data pointer. |
| startIndex | int | Source start index. |
| destination | IntPtr | Destination data pointer. |
| length | int | Number of elements to copy. |

## See Also

* Class [Marshal](../)
* Namespace [System::Runtime::InteropServices](../../)
* Library [Aspose.Page for C++](../../../)
## Marshal::Copy(const container\&, int, void *, int) method


Implements public static void Copy(char[] source, int startIndex, IntPtr destination, int length).

```cpp
template<typename container> static void System::Runtime::InteropServices::Marshal::Copy(const container &source, int startIndex, void *destination, int length)
```


| Parameter | Description |
| --- | --- |
| container | Source container type. |

| Parameter | Type | Description |
| --- | --- | --- |
| source | const container\& | Source data pointer. |
| startIndex | int | Source start index. |
| destination | void * | Destination data pointer. |
| length | int | Number of elements to copy. |

## See Also

* Class [Marshal](../)
* Namespace [System::Runtime::InteropServices](../../)
* Library [Aspose.Page for C++](../../../)
## Marshal::Copy(const IntPtr, container\&&, int, int) method


Implements public static void Copy(IntPtr source, byte[] destination, int startIndex, int length) semantics.

```cpp
template<typename container> static void System::Runtime::InteropServices::Marshal::Copy(const IntPtr source, container &&destination, int startIndex, int length)
```


| Parameter | Description |
| --- | --- |
| container | Destination container type. |

| Parameter | Type | Description |
| --- | --- | --- |
| source | const IntPtr | Source data pointer. |
| destination | container\&& | Container to copy data into. |
| startIndex | int | Source start index. |
| length | int | Number of elements to copy. |

## See Also

* Class [Marshal](../)
* Namespace [System::Runtime::InteropServices](../../)
* Library [Aspose.Page for C++](../../../)
## Marshal::Copy(const void *, container\&&, int, int) method


Implements public static void Copy(IntPtr source, byte[] destination, int startIndex, int length) semantics.

```cpp
template<typename container> static void System::Runtime::InteropServices::Marshal::Copy(const void *source, container &&destination, int startIndex, int length)
```


| Parameter | Description |
| --- | --- |
| container | Destination container type. |

| Parameter | Type | Description |
| --- | --- | --- |
| source | const void * | Source data pointer. |
| destination | container\&& | Container to copy data into. |
| startIndex | int | Source start index. |
| length | int | Number of elements to copy. |

## See Also

* Class [Marshal](../)
* Namespace [System::Runtime::InteropServices](../../)
* Library [Aspose.Page for C++](../../../)
