---
title: Publishers.Zip4
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/zip4
---

# Publishers.Zip4

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

## Declaration

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

## Overview

Overview Use a Publishers.Zip4 to combine the latest elements from four publishers and emit a tuple to the downstream. The returned publisher waits until all four 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-four Publisher

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

### Declaring supporting types

- [Publishers.Zip4.Output](combine/publishers/zip4/output.md)
- [Publishers.Zip4.Failure](combine/publishers/zip4/failure.md)

### Inspecting publisher properties

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

### Comparing publishers

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

### Default Implementations

- [Equatable Implementations](combine/publishers/zip4/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.Zip3](combine/publishers/zip3.md)
