---
title: AnyColumn
framework: tabulardata
role: symbol
role_heading: Structure
path: tabulardata/anycolumn
---

# AnyColumn

A type-erased column.

## Declaration

```swift
struct AnyColumn
```

## Overview

Overview AnyColumn is a column type that conceals the type of its elements, unlike Column, its typed counterpart.

## Topics

### Inspecting a Type-Erased Column

- [name](tabulardata/anycolumn/name.md)
- [count](tabulardata/anycolumn/count.md)
- [missingCount](tabulardata/anycolumn/missingcount.md)
- [wrappedElementType](tabulardata/anycolumn/wrappedelementtype.md)
- [isNil(at:)](tabulardata/anycolumn/isnil(at:).md)

### Creating a Column of the Same Type

- [prototype](tabulardata/anycolumn/prototype.md)

### Creating a Typed Column

- [assumingType(_:)](tabulardata/anycolumn/assumingtype(_:).md)

### Adding Elements

- [append(_:)](tabulardata/anycolumn/append(_:).md)
- [append(contentsOf:)](tabulardata/anycolumn/append(contentsof:)-2in58.md)
- [append(contentsOf:)](tabulardata/anycolumn/append(contentsof:)-az5b.md)

### Removing an Element

- [remove(at:)](tabulardata/anycolumn/remove(at:).md)

### Accessing Elements

- [subscript(_:)](tabulardata/anycolumn/subscript(_:)-6z1b5.md)
- [subscript(_:)](tabulardata/anycolumn/subscript(_:)-1n9t9.md)

### Creating a Slice of Unique Elements

- [distinct()](tabulardata/anycolumn/distinct().md)

### Creating a Slice by Masking Elements

- [subscript(_:)](tabulardata/anycolumn/subscript(_:)-3658g.md)

### Encoding a Column

- [encode(_:using:)](tabulardata/anycolumn/encode(_:using:).md)
- [encoded(_:using:)](tabulardata/anycolumn/encoded(_:using:).md)

### Decoding a Column

- [decode(_:using:)](tabulardata/anycolumn/decode(_:using:).md)
- [decoded(_:using:)](tabulardata/anycolumn/decoded(_:using:).md)

### Describing a Column

- [description](tabulardata/anycolumn/description.md)
- [debugDescription](tabulardata/anycolumn/debugdescription.md)
- [customMirror](tabulardata/anycolumn/custommirror.md)

### Comparing Two Columns

- [==(_:_:)](tabulardata/anycolumn/==(_:_:).md)

### Hashing a Column

- [hash(into:)](tabulardata/anycolumn/hash(into:).md)

### Default Implementations

- [CustomDebugStringConvertible Implementations](tabulardata/anycolumn/customdebugstringconvertible-implementations.md)
- [CustomReflectable Implementations](tabulardata/anycolumn/customreflectable-implementations.md)
- [CustomStringConvertible Implementations](tabulardata/anycolumn/customstringconvertible-implementations.md)
- [Equatable Implementations](tabulardata/anycolumn/equatable-implementations.md)
- [Hashable Implementations](tabulardata/anycolumn/hashable-implementations.md)
- [RandomAccessCollection Implementations](tabulardata/anycolumn/randomaccesscollection-implementations.md)

## Relationships

### Conforms To

- [AnyColumnProtocol](tabulardata/anycolumnprotocol.md)
- [BidirectionalCollection](swift/bidirectionalcollection.md)
- [Collection](swift/collection.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomReflectable](swift/customreflectable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [MutableCollection](swift/mutablecollection.md)
- [RandomAccessCollection](swift/randomaccesscollection.md)
- [Sequence](swift/sequence.md)

## See Also

### Type-Erased Columns

- [AnyColumnSlice](tabulardata/anycolumnslice.md)
- [AnyColumnProtocol](tabulardata/anycolumnprotocol.md)
- [AnyColumnPrototype](tabulardata/anycolumnprototype.md)
