---
title: "moveUpdate(fromContentsOf:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/slice/moveupdate(fromcontentsof:)-ou4d"
---

# moveUpdate(fromContentsOf:)

Updates this buffer slice’s initialized memory initialized memory by moving every element from the source buffer slice, leaving the source memory uninitialized.

## Declaration

```swift
func moveUpdate<Element>(fromContentsOf source: Slice<UnsafeMutableBufferPointer<Element>>) -> Slice<Base>.Index where Base == UnsafeMutableBufferPointer<Element>
```

## Parameters

- `source`: A buffer slice containing the values to move. The memory region underlying source must be initialized.

## Return Value

Return Value An index one past the index of the last element updated.

## Discussion

Discussion The region of memory starting at the beginning of this buffer slice and covering source.count instances of its Element type  must be initialized, or its Element type must be a trivial type. After calling moveUpdate(fromContentsOf:), the region of memory underlying source is uninitialized. The buffer slice must reference enough initialized memory to accommodate source.count elements. The returned index is one past the index of the last element updated. If source contains no elements, the returned index is equal to the buffer’s startIndex. If source contains as many elements as the buffer slice can hold, the returned index is equal to the slice’s endIndex. note: The memory regions referenced by source and this buffer slice must not overlap. note: self.count >= source.count
