<!--
{
  "documentType" : "article",
  "framework" : "TabularData",
  "identifier" : "/documentation/TabularData/Column/BidirectionalCollection-Implementations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "BidirectionalCollection Implementations"
}
-->

# BidirectionalCollection Implementations

## Topics

### Instance Properties

[`var endIndex: Int`](/documentation/TabularData/Column/endIndex)

The index of the final element in the column.

[`var startIndex: Int`](/documentation/TabularData/Column/startIndex)

The index of the initial element in the column.

### Instance Methods

[`func index(after: Int) -> Int`](/documentation/TabularData/Column/index(after:))

Returns the index immediately after an element index.

[`func index(before: Int) -> Int`](/documentation/TabularData/Column/index(before:))

Returns the index immediately before an element index.

### Subscripts

[`subscript(Range<Int>) -> ColumnSlice<WrappedElement>`](/documentation/TabularData/Column/subscript(_:)-gne9)

Accesses a contiguous range of elements.

[`subscript(Int) -> Column<WrappedElement>.Element`](/documentation/TabularData/Column/subscript(_:)-qm4d)

Accesses an element at an index.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)