---
title: AnyBidirectionalCollection
framework: swift
role: symbol
role_heading: Structure
path: swift/anybidirectionalcollection
---

# AnyBidirectionalCollection

A type-erased wrapper over any collection with indices that support bidirectional traversal.

## Declaration

```swift
@frozen struct AnyBidirectionalCollection<Element>
```

## Overview

Overview An AnyBidirectionalCollection instance forwards its operations to a base collection having the same Element type, hiding the specifics of the underlying collection.

## Topics

### Initializers

- [init(_:)](swift/anybidirectionalcollection/init(_:)-1hwm5.md)
- [init(_:)](swift/anybidirectionalcollection/init(_:)-2kvez.md)
- [init(_:)](swift/anybidirectionalcollection/init(_:)-4hewp.md)
- [init(_:)](swift/anybidirectionalcollection/init(_:)-5lybd.md)
- [init(_:)](swift/anybidirectionalcollection/init(_:)-61joz.md)

### Instance Methods

- [drop(while:)](swift/anybidirectionalcollection/drop(while:).md)
- [dropFirst(_:)](swift/anybidirectionalcollection/dropfirst(_:).md)
- [dropLast(_:)](swift/anybidirectionalcollection/droplast(_:).md)
- [filter(_:)](swift/anybidirectionalcollection/filter(_:).md)
- [forEach(_:)](swift/anybidirectionalcollection/foreach(_:).md)
- [formIndex(_:offsetBy:)](swift/anybidirectionalcollection/formindex(_:offsetby:).md)
- [formIndex(_:offsetBy:limitedBy:)](swift/anybidirectionalcollection/formindex(_:offsetby:limitedby:).md)
- [map(_:)](swift/anybidirectionalcollection/map(_:).md)
- [prefix(_:)](swift/anybidirectionalcollection/prefix(_:).md)
- [prefix(while:)](swift/anybidirectionalcollection/prefix(while:).md)
- [suffix(_:)](swift/anybidirectionalcollection/suffix(_:).md)

### Default Implementations

- [BidirectionalCollection Implementations](swift/anybidirectionalcollection/bidirectionalcollection-implementations.md)
- [Collection Implementations](swift/anybidirectionalcollection/collection-implementations.md)
- [Sequence Implementations](swift/anybidirectionalcollection/sequence-implementations.md)

## Relationships

### Conforms To

- [BidirectionalCollection](swift/bidirectionalcollection.md)
- [Collection](swift/collection.md)
- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Sequence](swift/sequence.md)

## See Also

### Type-Erasing Wrappers

- [AnySequence](swift/anysequence.md)
- [AnyCollection](swift/anycollection.md)
- [AnyRandomAccessCollection](swift/anyrandomaccesscollection.md)
- [AnyIterator](swift/anyiterator.md)
- [AnyIndex](swift/anyindex.md)
- [AnyHashable](swift/anyhashable.md)
