-
Notifications
You must be signed in to change notification settings - Fork 0
EnumValueWitnessTable
tevelee edited this page Jul 21, 2026
·
1 revision
The value witness table for enums that have enum specific value witness functions.
public struct EnumValueWitnessTable: LayoutWrapper ABI Stability: Stable since the following
| macOS | iOS/tvOS | watchOS | Linux | Windows |
|-------|----------|---------|-------|---------|
| 10.14 | 12.2 | 5.2 | NA | NA |
The base value witness table.
public var vwt: ValueWitnessTable Given an instance of an enum, retrieve the "tag", the number that determines which case is currently being inhabited.
public func getEnumTag(for instance: UnsafeRawPointer) -> UInt32 - instance: An enum instance of the type this value witness resides in.
The tag number for which case is being inhabited.
Given an instance of an enum, destructively remove the payload.
public func destructiveProjectEnumData(
for instance: UnsafeMutableRawPointer
) - instance: An enum instance of the type this value witness resides in.
Given an instance of an enum and a case tag, destructively inject the tag into the enum instance.
public func destructiveInjectEnumTag(
for instance: UnsafeMutableRawPointer,
tag: UInt32
) - instance: An enum instance of the type this value witness resides in.
- tag: A case tag value within [0..numCases)
Generated at 2026-07-27T11:49:06+0000 using swift-doc 1.0.0-rc.1.
Types
- AccessibleFunction
- AccessibleFunctionFlags
- AnonymousDescriptor
- AnonymousDescriptor.Flags
- AnyExistentialContainer
- AsyncContinuationFlags
- BoxPair
- ClassDescriptor
- ClassMetadata
- ClassMetadata.Flags
- ConformanceDescriptor
- ConformanceDescriptor.Flags
- ContextDescriptorFlags
- ContextDescriptorKind
- ContinuationStatus
- CoroutineAllocator
- CoroutineAllocatorFlags
- CoroutineAllocatorKind
- DefaultOverrideTableHeader
- DualExistentialContainer
- DynamicCastFlags
- DynamicReplacementChainEntry
- DynamicReplacementDescriptor
- DynamicReplacementKey
- DynamicReplacementScope
- EnumDescriptor
- EnumMetadata
- EnumValueWitnessTable
- ExistentialContainer
- ExistentialMetadata
- ExistentialMetadata.Flags
- ExistentialProtocolReference
- ExistentialProtocolReference.Kind
- ExtendedExistentialMetadata
- ExtendedExistentialTypeShape
- ExtendedExistentialTypeShape.Flags
- ExtendedExistentialTypeShape.SpecialKind
- ExtendedFunctionTypeFlags
- ExtensionDescriptor
- ExtraClassDescriptorFlags
- FieldDescriptor
- FieldDescriptor.Kind
- FieldRecord
- FieldRecord.Flags
- FixedArrayMetadata
- ForeignClassMetadata
- ForeignMetadataInitialization
- ForeignReferenceTypeMetadata
- FunctionConvention
- FunctionMetadata
- FunctionMetadata.DifferentiabilityKind
- FunctionMetadata.Flags
- FunctionMetadata.ParamFlags
- GenericArgument
- GenericClassMetadataPattern
- GenericContext
- GenericContextDescriptorFlags
- GenericEnvironment
- GenericEnvironmentFlags
- GenericMetadataPartialPattern
- GenericMetadataPattern
- GenericMetadataPattern.Flags
- GenericPackKind
- GenericPackShapeDescriptor
- GenericPackShapeHeader
- GenericParameterDescriptor
- GenericParameterKind
- GenericRequirementDescriptor
- GenericRequirementDescriptor.Flags
- GenericRequirementKind
- GenericRequirementLayoutKind
- GenericSignatureHeader
- GenericValueDescriptor
- GenericValueHeader
- GenericValueMetadataPattern
- GenericValueType
- GenericWitnessTable
- GlobalActorReference
- HeapGenericLocalVariableMetadata
- HeapLocalVariableMetadata
- HeapObject
- InvertibleProtocolKind
- InvertibleProtocolSet
- JobFlags
- JobKind
- JobPriority
- KeyPathComponentHeader
- KeyPathComponentHeader.ComputedIdentifierKind
- KeyPathComponentHeader.ComputedIdentifierResolution
- KeyPathComponentHeader.ComputedPropertyKind
- KeyPathComponentHeader.Kind
- KeyPathComponentHeader.OptionalOperation
- KeyPathComponentHeader.StoredOffsetKind
- KnownMetadata
- KnownMetadata.Builtin
- MetadataAccessFunction
- MetadataBounds
- MetadataInitializationKind
- MetadataKind
- MetadataPack
- MetadataRequest
- MetadataResponse
- MetadataState
- MetadataTrailingFlags
- MetatypeMetadata
- MethodDefaultOverrideDescriptor
- MethodDescriptor
- MethodDescriptor.Flags
- MethodDescriptor.Kind
- MethodOverrideDescriptor
- ModuleDescriptor
- NonUniqueExtendedExistentialTypeShape
- ObjCClassWrapperMetadata
- OpaqueDescriptor
- OpaqueMetadata
- OpaqueTypeReplacement
- OverrideTableHeader
- PackLifetime
- ProtocolDescriptor
- ProtocolDescriptor.Flags
- ProtocolDispatchStrategy
- ProtocolRequirement
- ProtocolRequirement.Flags
- ProtocolRequirement.Kind
- ReferenceStorageKind
- RelativeWitnessTable
- ResilientClassMetadataPattern
- ResilientWitness
- SerialExecutorReference
- SerialExecutorReference.Kind
- SingletonMetadataInitialization
- SpecialProtocol
- StructDescriptor
- StructMetadata
- TaskCreateFlags
- TaskExecutorReference
- TaskExecutorReference.Kind
- TaskGroupFlags
- TaskOptionRecordFlags
- TaskOptionRecordKind
- TaskStatusRecordFlags
- TaskStatusRecordKind
- TupleMetadata
- TupleMetadata.Element
- TypeContextDescriptorFlags
- TypeGenericContext
- TypeImportInfo
- TypeReferenceKind
- UnknownMetadata
- VTableDescriptorHeader
- ValueOwnership
- ValueWitnessTable
- ValueWitnessTable.Flags
- WitnessTable
- WitnessTablePack
Global Typealiases
Global Variables
Global Functions
- container(for:)
- findConformance(to:)
- findConformance(toProtocolNamed:)
- lookupSection(_:segment:section:do:)
- reflect(_:)
- reflectClass(_:)
- reflectEnum(_:)
- reflectStruct(_:)
- registerAccessibleFunctions(section:size:)
- registerDynamicReplacementScopes(section:size:)
- registerOpaqueTypeReplacements(section:size:)
- registerProtocolConformances(section:size:)
- registerProtocols(section:size:)
- registerTypeMetadata(section:size:)
- swift_allocBox(for:)
- swift_allocObject(for:size:alignment:)
- swift_conformsToProtocol(metadata:protocol:)
- swift_conformsToProtocol(type:protocol:)
- swift_getTypeName(for:qualified:)
- withProjectedValue(of:_:)
- withProjectedValues(of:_:)