---
title: OpaquePointer
framework: swift
role: symbol
role_heading: Structure
path: swift/opaquepointer
---

# OpaquePointer

A wrapper around an opaque C pointer.

## Declaration

```swift
@frozen struct OpaquePointer
```

## Overview

Overview Opaque pointers are used to represent C pointers to types that cannot be represented in Swift, such as incomplete struct types.

## Topics

### Initializers

- [init(_:)](swift/opaquepointer/init(_:)-3h8av.md)
- [init(_:)](swift/opaquepointer/init(_:)-4g6sp.md)
- [init(_:)](swift/opaquepointer/init(_:)-4u1ar.md)
- [init(_:)](swift/opaquepointer/init(_:)-6gmth.md)
- [init(_:)](swift/opaquepointer/init(_:)-7oa0u.md)
- [init(_:)](swift/opaquepointer/init(_:)-7zxvo.md)
- [init(_:)](swift/opaquepointer/init(_:)-b58i.md)
- [init(_:)](swift/opaquepointer/init(_:)-xapj.md)
- [init(bitPattern:)](swift/opaquepointer/init(bitpattern:)-26uvs.md)
- [init(bitPattern:)](swift/opaquepointer/init(bitpattern:)-7f8tm.md)

### Instance Properties

- [intendedSpatialExperience](swift/opaquepointer/intendedspatialexperience.md)

### Default Implementations

- [AtomicOptionalRepresentable Implementations](swift/opaquepointer/atomicoptionalrepresentable-implementations.md)
- [AtomicRepresentable Implementations](swift/opaquepointer/atomicrepresentable-implementations.md)
- [CustomDebugStringConvertible Implementations](swift/opaquepointer/customdebugstringconvertible-implementations.md)
- [Equatable Implementations](swift/opaquepointer/equatable-implementations.md)
- [Hashable Implementations](swift/opaquepointer/hashable-implementations.md)

## Relationships

### Conforms To

- [AtomicOptionalRepresentable](synchronization/atomicoptionalrepresentable.md)
- [AtomicRepresentable](synchronization/atomicrepresentable.md)
- [BitwiseCopyable](swift/bitwisecopyable.md)
- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)

## See Also

### C and Objective-C Pointers

- [AutoreleasingUnsafeMutablePointer](swift/autoreleasingunsafemutablepointer.md)
