Skip to content

OpaqueDescriptor

tevelee edited this page Jul 25, 2026 · 2 revisions

OpaqueDescriptor

Represents a descriptor for an opaque type.

public struct OpaqueDescriptor: ContextDescriptor, LayoutWrapper 

ABI Stability: Stable since the following

|    macOS    |  iOS/tvOS  |  watchOS  | Linux | Windows |
|-------------|------------|-----------|-------|---------|
| 10.15 <= .3 | 13.0 <= .3 | 6.0 <= .1 | NA    | NA      |

Inheritance

ContextDescriptor, LayoutWrapper

Properties

ptr

Backing OpaqueDescriptor pointer.

public let ptr: UnsafeRawPointer

numUnderlyingTypes

The number of underlying types for this opaque type.

public var numUnderlyingTypes: Int 

underlyingTypeMangledNames

An array of mangled type names of the underlying types composing this opaque type.

public var underlyingTypeMangledNames: [UnsafeRawPointer] 

Methods

underlyingType(at:genericArguments:)

Resolves an underlying opaque type in this descriptor's generic context.

public func underlyingType(
    at index: Int,
    genericArguments: UnsafeRawPointer? = nil
  ) -> Any.Type? 

Opaque descriptors store type identities as symbolic mangled names. For a generic opaque declaration, pass its ABI generic argument buffer in the order described by genericContext; non-generic opaque declarations need no arguments.

Types
Protocols
Global Typealiases
Global Variables
Global Functions

Clone this wiki locally