---
title: Publishers.Filter
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/filter
---

# Publishers.Filter

A publisher that republishes all elements that match a provided closure.

## Declaration

```swift
struct Filter<Upstream> where Upstream : Publisher
```

## Topics

### Creating a filter publisher

- [init(upstream:isIncluded:)](combine/publishers/filter/init(upstream:isincluded:).md)

### Filtering elements

- [filter(_:)](combine/publishers/filter/filter(_:).md)
- [tryFilter(_:)](combine/publishers/filter/tryfilter(_:).md)

### Declaring supporting types

- [Publishers.Filter.Output](combine/publishers/filter/output.md)
- [Publishers.Filter.Failure](combine/publishers/filter/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/filter/upstream.md)
- [isIncluded](combine/publishers/filter/isincluded.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Filtering elements

- [Publishers.TryFilter](combine/publishers/tryfilter.md)
- [Publishers.CompactMap](combine/publishers/compactmap.md)
- [Publishers.TryCompactMap](combine/publishers/trycompactmap.md)
- [Publishers.RemoveDuplicates](combine/publishers/removeduplicates.md)
- [Publishers.TryRemoveDuplicates](combine/publishers/tryremoveduplicates.md)
- [Publishers.ReplaceEmpty](combine/publishers/replaceempty.md)
- [Publishers.ReplaceError](combine/publishers/replaceerror.md)
