---
title: UnsafeMutableBufferPointer
framework: swift
role: symbol
role_heading: Structure
path: swift/unsafemutablebufferpointer
---

# UnsafeMutableBufferPointer

A nonowning collection interface to a buffer of mutable elements stored contiguously in memory.

## Declaration

```swift
@frozen struct UnsafeMutableBufferPointer<Element> where Element : ~Copyable
```

## Overview

Overview You can use an UnsafeMutableBufferPointer instance in low level operations to eliminate uniqueness checks and, in release mode, bounds checks. Bounds checks are always performed in debug mode. UnsafeMutableBufferPointer Semantics An UnsafeMutableBufferPointer instance is a view into memory and does not own the memory that it references. Copying a value of type UnsafeMutableBufferPointer does not copy the instances stored in the underlying memory. However, initializing another collection with an UnsafeMutableBufferPointer instance copies the instances out of the referenced memory and into the new collection.

## Topics

### Initializers

- [init(_:)](swift/unsafemutablebufferpointer/init(_:)-6750l.md)
- [init(_:)](swift/unsafemutablebufferpointer/init(_:)-789ap.md)
- [init(mutating:)](swift/unsafemutablebufferpointer/init(mutating:).md)
- [init(rebasing:)](swift/unsafemutablebufferpointer/init(rebasing:).md)
- [init(start:count:)](swift/unsafemutablebufferpointer/init(start:count:).md)

### Instance Properties

- [baseAddress](swift/unsafemutablebufferpointer/baseaddress.md)
- [count](swift/unsafemutablebufferpointer/count.md)
- [mutableSpan](swift/unsafemutablebufferpointer/mutablespan.md)
- [span](swift/unsafemutablebufferpointer/span.md)

### Instance Methods

- [assign(repeating:)](swift/unsafemutablebufferpointer/assign(repeating:).md)
- [deallocate()](swift/unsafemutablebufferpointer/deallocate().md)
- [deinitialize()](swift/unsafemutablebufferpointer/deinitialize().md)
- [deinitializeElement(at:)](swift/unsafemutablebufferpointer/deinitializeelement(at:).md)
- [extracting(_:)](swift/unsafemutablebufferpointer/extracting(_:)-4izct.md)
- [extracting(_:)](swift/unsafemutablebufferpointer/extracting(_:)-51ps5.md)
- [extracting(_:)](swift/unsafemutablebufferpointer/extracting(_:)-6xfww.md)
- [initialize(from:)](swift/unsafemutablebufferpointer/initialize(from:).md)
- [initialize(fromContentsOf:)](swift/unsafemutablebufferpointer/initialize(fromcontentsof:).md)
- [initialize(repeating:)](swift/unsafemutablebufferpointer/initialize(repeating:).md)
- [initializeElement(at:to:)](swift/unsafemutablebufferpointer/initializeelement(at:to:).md)
- [isTriviallyIdentical(to:)](swift/unsafemutablebufferpointer/istriviallyidentical(to:).md)
- [moveElement(from:)](swift/unsafemutablebufferpointer/moveelement(from:).md)
- [moveInitialize(fromContentsOf:)](swift/unsafemutablebufferpointer/moveinitialize(fromcontentsof:)-1ag7a.md)
- [moveInitialize(fromContentsOf:)](swift/unsafemutablebufferpointer/moveinitialize(fromcontentsof:)-8aiwj.md)
- [moveUpdate(fromContentsOf:)](swift/unsafemutablebufferpointer/moveupdate(fromcontentsof:)-4bpe7.md)
- [moveUpdate(fromContentsOf:)](swift/unsafemutablebufferpointer/moveupdate(fromcontentsof:)-522y2.md)
- [update(from:)](swift/unsafemutablebufferpointer/update(from:).md)
- [update(fromContentsOf:)](swift/unsafemutablebufferpointer/update(fromcontentsof:).md)
- [update(repeating:)](swift/unsafemutablebufferpointer/update(repeating:).md)
- [withBytes(_:)](swift/unsafemutablebufferpointer/withbytes(_:).md)
- [withMemoryRebound(to:_:)](swift/unsafemutablebufferpointer/withmemoryrebound(to:_:).md)

### Subscripts

- [subscript(_:)](swift/unsafemutablebufferpointer/subscript(_:)-2vl82.md)

### Type Methods

- [allocate(capacity:)](swift/unsafemutablebufferpointer/allocate(capacity:).md)

### Default Implementations

- [AtomicRepresentable Implementations](swift/unsafemutablebufferpointer/atomicrepresentable-implementations.md)
- [BidirectionalCollection Implementations](swift/unsafemutablebufferpointer/bidirectionalcollection-implementations.md)
- [Collection Implementations](swift/unsafemutablebufferpointer/collection-implementations.md)
- [CustomDebugStringConvertible Implementations](swift/unsafemutablebufferpointer/customdebugstringconvertible-implementations.md)
- [MutableCollection Implementations](swift/unsafemutablebufferpointer/mutablecollection-implementations.md)
- [OperationParameter Implementations](swift/unsafemutablebufferpointer/operationparameter-implementations.md)
- [Sequence Implementations](swift/unsafemutablebufferpointer/sequence-implementations.md)

## Relationships

### Conforms To

- [AccelerateBuffer](accelerate/acceleratebuffer.md)
- [AccelerateMutableBuffer](accelerate/acceleratemutablebuffer.md)
- [AtomicRepresentable](synchronization/atomicrepresentable.md)
- [BNNSGraph.Builder.OperationParameter](accelerate/bnnsgraph/builder/operationparameter.md)
- [BNNSGraph.PointerArgument](accelerate/bnnsgraph/pointerargument.md)
- [BidirectionalCollection](swift/bidirectionalcollection.md)
- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Collection](swift/collection.md)
- [ContiguousBytes](foundation/contiguousbytes.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Escapable](swift/escapable.md)
- [MutableCollection](swift/mutablecollection.md)
- [RandomAccessCollection](swift/randomaccesscollection.md)
- [Sequence](swift/sequence.md)

## See Also

### Typed Pointers

- [UnsafePointer](swift/unsafepointer.md)
- [UnsafeMutablePointer](swift/unsafemutablepointer.md)
- [UnsafeBufferPointer](swift/unsafebufferpointer.md)
