---
title: ComparableComparator
framework: foundation
role: symbol
role_heading: Structure
path: foundation/comparablecomparator
---

# ComparableComparator

A comparator that compares types according to their conformance to the comparable protocol.

## Declaration

```swift
struct ComparableComparator<Compared> where Compared : Comparable
```

## Overview

Overview The comparator uses the relevant type’s Comparable implementation to compare instances.

## Topics

### Using a Comparator

- [compare(_:_:)](foundation/comparablecomparator/compare(_:_:).md)

### Inspecting a Comparator

- [order](foundation/comparablecomparator/order.md)

### Initializers

- [init(order:)](foundation/comparablecomparator/init(order:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SortComparator](foundation/sortcomparator.md)

## See Also

### Sorting

- [NSSortDescriptor](foundation/nssortdescriptor.md)
- [ComparisonResult](foundation/comparisonresult.md)
- [SortDescriptor](foundation/sortdescriptor.md)
- [SortComparator](foundation/sortcomparator.md)
- [KeyPathComparator](foundation/keypathcomparator.md)
- [SortOrder](foundation/sortorder.md)
