---
title: USDLayer.ListOperation
framework: usdkit
role: symbol
role_heading: Structure
path: usdkit/usdlayer/listoperation
---

# USDLayer.ListOperation

A non-destructive list of incremental editing operations for list-valued metadata and properties.

## Declaration

```swift
struct ListOperation<T> where T : USDLayer._ListOperationElement
```

## Topics

### Initializers

- [init(explicitItems:)](usdkit/usdlayer/listoperation/init(explicititems:).md)
- [init(prependedItems:appendedItems:deletedItems:)](usdkit/usdlayer/listoperation/init(prependeditems:appendeditems:deleteditems:).md)

### Instance Properties

- [appliedItems](usdkit/usdlayer/listoperation/applieditems.md)
- [hasKeys](usdkit/usdlayer/listoperation/haskeys.md)
- [isExplicit](usdkit/usdlayer/listoperation/isexplicit.md)

### Instance Methods

- [clear()](usdkit/usdlayer/listoperation/clear().md)
- [clearAndMakeExplicit()](usdkit/usdlayer/listoperation/clearandmakeexplicit().md)
- [compose(stronger:for:)](usdkit/usdlayer/listoperation/compose(stronger:for:).md)
- [has(item:)](usdkit/usdlayer/listoperation/has(item:).md)
- [items(for:)](usdkit/usdlayer/listoperation/items(for:).md)
- [replaceItems(in:at:count:with:)](usdkit/usdlayer/listoperation/replaceitems(in:at:count:with:).md)
- [setItems(_:for:)](usdkit/usdlayer/listoperation/setitems(_:for:).md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [USDValueProtocol](usdkit/usdvalueprotocol.md)

## See Also

### Editing scene description

- [copy(from:to:in:)](usdkit/usdlayer/copy(from:to:in:).md)
- [USDLayer.ListOperationType](usdkit/usdlayer/listoperationtype.md)
- [USDLayer.Relocate](usdkit/usdlayer/relocate.md)
- [USDLayer.RelocatesMap](usdkit/usdlayer/relocatesmap.md)
- [USDLayer.ChangeList](usdkit/usdlayer/changelist.md)
