---
title: Publishers.Collect
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/collect
---

# Publishers.Collect

A publisher that buffers items.

## Declaration

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

## Topics

### Creating a collect publisher

- [init(upstream:)](combine/publishers/collect/init(upstream:).md)

### Declaring supporting types

- [Publishers.Collect.Output](combine/publishers/collect/output.md)
- [Publishers.Collect.Failure](combine/publishers/collect/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/collect/upstream.md)

### Comparing publishers

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

### Default Implementations

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

## Relationships

### Conforms To

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

## See Also

### Reducing elements

- [Publishers.CollectByCount](combine/publishers/collectbycount.md)
- [Publishers.CollectByTime](combine/publishers/collectbytime.md)
- [Publishers.TimeGroupingStrategy](combine/publishers/timegroupingstrategy.md)
- [Publishers.IgnoreOutput](combine/publishers/ignoreoutput.md)
- [Publishers.Reduce](combine/publishers/reduce.md)
- [Publishers.TryReduce](combine/publishers/tryreduce.md)
