---
title: USDPrim.Predicate
framework: usdkit
role: symbol
role_heading: Structure
path: usdkit/usdprim/predicate
---

# USDPrim.Predicate

A filter which returns true or false for prims based on their flags.

## Declaration

```swift
struct Predicate
```

## Overview

Overview A predicate checks flags on a USDPrim and can require that each flag is set or not set. let loadedModels = prim.children(where: [.isModel, .isLoaded]) let inactiveGroups = prim.children(where: [.isGroup, !.isActive])

## Topics

### Operators

- [!(_:)](usdkit/usdprim/predicate/!(_:).md)

### Initializers

- [init(arrayLiteral:)](usdkit/usdprim/predicate/init(arrayliteral:).md)

### Type Properties

- [all](usdkit/usdprim/predicate/all.md)
- [hasDefSpecifier](usdkit/usdprim/predicate/hasdefspecifier.md)
- [isAbstract](usdkit/usdprim/predicate/isabstract.md)
- [isActive](usdkit/usdprim/predicate/isactive.md)
- [isComponent](usdkit/usdprim/predicate/iscomponent.md)
- [isDefined](usdkit/usdprim/predicate/isdefined.md)
- [isGroup](usdkit/usdprim/predicate/isgroup.md)
- [isInstance](usdkit/usdprim/predicate/isinstance.md)
- [isLoaded](usdkit/usdprim/predicate/isloaded.md)
- [isModel](usdkit/usdprim/predicate/ismodel.md)
- [none](usdkit/usdprim/predicate/none.md)

### Default Implementations

- [CustomStringConvertible Implementations](usdkit/usdprim/predicate/customstringconvertible-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Traversing the hierarchy

- [children](usdkit/usdprim/children.md)
- [allChildren](usdkit/usdprim/allchildren.md)
- [descendants](usdkit/usdprim/descendants.md)
- [allDescendants](usdkit/usdprim/alldescendants.md)
- [nextSibling](usdkit/usdprim/nextsibling.md)
- [children(where:)](usdkit/usdprim/children(where:).md)
- [descendants(where:)](usdkit/usdprim/descendants(where:).md)
- [nextSibling(where:)](usdkit/usdprim/nextsibling(where:).md)
- [prim(at:)](usdkit/usdprim/prim(at:).md)
