---
title: Publishers.Zip3
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/zip3
---

# Publishers.Zip3

A publisher created by applying the zip function to three upstream publishers.

## Declaration

```swift
struct Zip3<A, B, C> where A : Publisher, B : Publisher, C : Publisher, A.Failure == B.Failure, B.Failure == C.Failure
```

## Overview

Overview Use a Publishers.Zip3 to combine the latest elements from three publishers and emit a tuple to the downstream. The returned publisher waits until all three publishers have emitted an event, then delivers the oldest unconsumed event from each publisher as a tuple to the subscriber. If any upstream publisher finishes successfully or fails with an error, so too does the zipped publisher.

## Topics

### Creating a zip-three Publisher

- [init(_:_:_:)](combine/publishers/zip3/init(_:_:_:).md)

### Declaring supporting types

- [Publishers.Zip3.Output](combine/publishers/zip3/output.md)
- [Publishers.Zip3.Failure](combine/publishers/zip3/failure.md)

### Inspecting publisher properties

- [a](combine/publishers/zip3/a.md)
- [b](combine/publishers/zip3/b.md)
- [c](combine/publishers/zip3/c.md)

### Comparing publishers

- [==(_:_:)](combine/publishers/zip3/==(_:_:).md)

### Default Implementations

- [Equatable Implementations](combine/publishers/zip3/equatable-implementations.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Publisher](combine/publisher.md)

## See Also

### Combining elements from multiple publishers

- [Publishers.CombineLatest](combine/publishers/combinelatest.md)
- [Publishers.CombineLatest3](combine/publishers/combinelatest3.md)
- [Publishers.CombineLatest4](combine/publishers/combinelatest4.md)
- [Publishers.Merge](combine/publishers/merge.md)
- [Publishers.Merge3](combine/publishers/merge3.md)
- [Publishers.Merge4](combine/publishers/merge4.md)
- [Publishers.Merge5](combine/publishers/merge5.md)
- [Publishers.Merge6](combine/publishers/merge6.md)
- [Publishers.Merge7](combine/publishers/merge7.md)
- [Publishers.Merge8](combine/publishers/merge8.md)
- [Publishers.MergeMany](combine/publishers/mergemany.md)
- [Publishers.Zip](combine/publishers/zip.md)
- [Publishers.Zip4](combine/publishers/zip4.md)
