<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreVideo",
  "identifier" : "/documentation/CoreVideo/CVAttachmentCompositeKeyDefinition",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Core Video"
    ],
    "preciseIdentifier" : "s:9CoreVideo34CVAttachmentCompositeKeyDefinitionV"
  },
  "title" : "CVAttachmentCompositeKeyDefinition"
}
-->

# CVAttachmentCompositeKeyDefinition

Associates a set of raw attachment keys with a value type and preferred propagation mode.

```
struct CVAttachmentCompositeKeyDefinition<ModePreference, Value> where ModePreference : CVAttachmentModePreference, Value : CVAttachmentValueRepresentable
```

## Overview

The rawValues array should contain raw key strings required to represent any instance of Value. Even if some
of the elements in rawValues are not required to represent certain instances of Value.

## Topics

### Initializers

[`init(String...)`](/documentation/CoreVideo/CVAttachmentCompositeKeyDefinition/init(_:))

### Instance Properties

[`var rawValues: [String]`](/documentation/CoreVideo/CVAttachmentCompositeKeyDefinition/rawValues)

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`ExpressibleByArrayLiteral`](/documentation/Swift/ExpressibleByArrayLiteral)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)