-
Notifications
You must be signed in to change notification settings - Fork 26
EnumValueWitnessTable
Azoy edited this page May 6, 2021
·
2 revisions
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 2021-05-06T17:56:33+0000 using swift-doc 1.0.0-beta.6.
Types
- AnonymousDescriptor
- AnonymousDescriptor.Flags
- AnyExistentialContainer
- BoxPair
- ClassDescriptor
- ClassMetadata
- ClassMetadata.Flags
- ConformanceDescriptor
- ConformanceDescriptor.Flags
- ContextDescriptorFlags
- ContextDescriptorKind
- DualExistentialContainer
- EnumDescriptor
- EnumMetadata
- EnumValueWitnessTable
- ExistentialContainer
- ExistentialMetadata
- ExistentialMetadata.Flags
- ExistentialMetatypeMetadata
- ExtensionDescriptor
- FieldDescriptor
- FieldDescriptor.Kind
- FieldRecord
- FieldRecord.Flags
- ForeignClassMetadata
- ForeignMetadataInitialization
- FunctionConvention
- FunctionMetadata
- FunctionMetadata.Flags
- FunctionMetadata.ParamFlags
- GenericContext
- GenericMetadataPattern
- GenericMetadataPattern.Flags
- GenericParameterDescriptor
- GenericParameterKind
- GenericRequirementDescriptor
- GenericRequirementDescriptor.Flags
- GenericRequirementKind
- GenericRequirementLayoutKind
- HeapGenericLocalVariableMetadata
- HeapLocalVariableMetadata
- HeapObject
- KnownMetadata
- KnownMetadata.Builtin
- MetadataAccessFunction
- MetadataBounds
- MetadataInitializationKind
- MetadataKind
- MetadataRequest
- MetadataResponse
- MetadataState
- MetatypeMetadata
- MethodDescriptor
- MethodDescriptor.Flags
- MethodDescriptor.Kind
- MethodOverrideDescriptor
- ModuleDescriptor
- ObjCClassWrapperMetadata
- OpaqueDescriptor
- OpaqueMetadata
- OverrideTableHeader
- ProtocolDescriptor
- ProtocolDescriptor.Flags
- ProtocolRequirement
- ProtocolRequirement.Flags
- ProtocolRequirement.Kind
- ReferenceStorageKind
- SingletonMetadataInitialization
- SpecialProtocol
- StructDescriptor
- StructMetadata
- TupleMetadata
- TupleMetadata.Element
- TypeContextDescriptorFlags
- TypeGenericContext
- TypeReferenceKind
- VTableDescriptorHeader
- ValueOwnership
- ValueWitnessTable
- ValueWitnessTable.Flags
- WitnessTable