---
title: SortComparator
framework: foundation
role: symbol
role_heading: Protocol
path: foundation/sortcomparator
---

# SortComparator

A comparison algorithm for a specified type.

## Declaration

```swift
@preconcurrency protocol SortComparator<Compared> : Hashable, Sendable
```

## Overview

Overview Objects that conform to SortComparator provide a comparison algorithm and storage for the sort order to use when comparing.

## Topics

### Inspecting a Comparator

- [order](foundation/sortcomparator/order.md)
- [localized](foundation/sortcomparator/localized.md)
- [localizedStandard](foundation/sortcomparator/localizedstandard.md)

### Using a Comparator

- [compare(_:_:)](foundation/sortcomparator/compare(_:_:).md)
- [Compared](foundation/sortcomparator/compared.md)

## Relationships

### Inherits From

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

### Conforming Types

- [ComparableComparator](foundation/comparablecomparator.md)
- [KeyPathComparator](foundation/keypathcomparator.md)
- [SortDescriptor](foundation/sortdescriptor.md)

## See Also

### Sorting

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