---
title: Atomic
framework: synchronization
role: symbol
role_heading: Structure
path: synchronization/atomic
---

# Atomic

An atomic value.

## Declaration

```swift
@frozen struct Atomic<Value> where Value : AtomicRepresentable
```

## Topics

### Initializers

- [init(_:)](synchronization/atomic/init(_:).md)

### Instance Methods

- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-1k1sq.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-34u14.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-39vk1.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-4dpjd.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-4ocr0.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-6rhji.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-7ws8q.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-8cc78.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-8xoe3.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-90njk.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-97ilu.md)
- [add(_:ordering:)](synchronization/atomic/add(_:ordering:)-vm4c.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-1baj3.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-1gzwl.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-1yz1m.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-3zt46.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-4db7m.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-56lhq.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-5iaoz.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-5m0jk.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-5mhgj.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-6mxdg.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-8ilt7.md)
- [bitwiseAnd(_:ordering:)](synchronization/atomic/bitwiseand(_:ordering:)-l1a3.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-206dk.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-39r9q.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-4ozz5.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-4q8ef.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-4y864.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-5574x.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-6fz7a.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-6zz2p.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-72403.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-84e8q.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-9191v.md)
- [bitwiseOr(_:ordering:)](synchronization/atomic/bitwiseor(_:ordering:)-aa7f.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-271x9.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-2vrf.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-33l7y.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-4umey.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-5df6p.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-5vpxh.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-5zfc.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-8t1qf.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-9l5qb.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-9xi4f.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-m4nt.md)
- [bitwiseXor(_:ordering:)](synchronization/atomic/bitwisexor(_:ordering:)-sf4i.md)
- [compareExchange(expected:desired:ordering:)](synchronization/atomic/compareexchange(expected:desired:ordering:)-33pf3.md)
- [compareExchange(expected:desired:ordering:)](synchronization/atomic/compareexchange(expected:desired:ordering:)-6rsfl.md)
- [compareExchange(expected:desired:ordering:)](synchronization/atomic/compareexchange(expected:desired:ordering:)-8uimm.md)
- [compareExchange(expected:desired:ordering:)](synchronization/atomic/compareexchange(expected:desired:ordering:)-9bh60.md)
- [compareExchange(expected:desired:ordering:)](synchronization/atomic/compareexchange(expected:desired:ordering:)-s52j.md)
- [compareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/compareexchange(expected:desired:successordering:failureordering:)-5obt4.md)
- [compareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/compareexchange(expected:desired:successordering:failureordering:)-7msfy.md)
- [compareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/compareexchange(expected:desired:successordering:failureordering:)-82j0l.md)
- [compareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/compareexchange(expected:desired:successordering:failureordering:)-8d36a.md)
- [compareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/compareexchange(expected:desired:successordering:failureordering:)-cve0.md)
- [exchange(_:ordering:)](synchronization/atomic/exchange(_:ordering:)-5n6sy.md)
- [exchange(_:ordering:)](synchronization/atomic/exchange(_:ordering:)-8ip0d.md)
- [exchange(_:ordering:)](synchronization/atomic/exchange(_:ordering:)-9kb4s.md)
- [exchange(_:ordering:)](synchronization/atomic/exchange(_:ordering:)-9y5j8.md)
- [exchange(_:ordering:)](synchronization/atomic/exchange(_:ordering:)-ycta.md)
- [load(ordering:)](synchronization/atomic/load(ordering:)-2u27y.md)
- [load(ordering:)](synchronization/atomic/load(ordering:)-2v8gp.md)
- [load(ordering:)](synchronization/atomic/load(ordering:)-3u18o.md)
- [load(ordering:)](synchronization/atomic/load(ordering:)-4mv5b.md)
- [load(ordering:)](synchronization/atomic/load(ordering:)-8ufx2.md)
- [logicalAnd(_:ordering:)](synchronization/atomic/logicaland(_:ordering:).md)
- [logicalOr(_:ordering:)](synchronization/atomic/logicalor(_:ordering:).md)
- [logicalXor(_:ordering:)](synchronization/atomic/logicalxor(_:ordering:).md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-1l8lv.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-32cin.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-4e4mn.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-4rq6h.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-5qqv7.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-681q1.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-7kusb.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-7qnkd.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-7z7ub.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-81jab.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-957na.md)
- [max(_:ordering:)](synchronization/atomic/max(_:ordering:)-xy7u.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-1uwzs.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-2l64c.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-39r27.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-3tiyt.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-3tk2x.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-4b62m.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-4wv9d.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-6bbf1.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-6ivky.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-73283.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-8k42m.md)
- [min(_:ordering:)](synchronization/atomic/min(_:ordering:)-yogw.md)
- [store(_:ordering:)](synchronization/atomic/store(_:ordering:)-195np.md)
- [store(_:ordering:)](synchronization/atomic/store(_:ordering:)-22zxw.md)
- [store(_:ordering:)](synchronization/atomic/store(_:ordering:)-532ut.md)
- [store(_:ordering:)](synchronization/atomic/store(_:ordering:)-5q2fi.md)
- [store(_:ordering:)](synchronization/atomic/store(_:ordering:)-97ua7.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-1atf4.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-1iop7.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-2ddui.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-2ds2s.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-3c2nm.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-47p0x.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-5rq0s.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-65sge.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-6eidf.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-7ebxd.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-9w06o.md)
- [subtract(_:ordering:)](synchronization/atomic/subtract(_:ordering:)-pqxe.md)
- [weakCompareExchange(expected:desired:ordering:)](synchronization/atomic/weakcompareexchange(expected:desired:ordering:)-24bnb.md)
- [weakCompareExchange(expected:desired:ordering:)](synchronization/atomic/weakcompareexchange(expected:desired:ordering:)-728eh.md)
- [weakCompareExchange(expected:desired:ordering:)](synchronization/atomic/weakcompareexchange(expected:desired:ordering:)-72wpg.md)
- [weakCompareExchange(expected:desired:ordering:)](synchronization/atomic/weakcompareexchange(expected:desired:ordering:)-9w8ty.md)
- [weakCompareExchange(expected:desired:ordering:)](synchronization/atomic/weakcompareexchange(expected:desired:ordering:)-9xqnl.md)
- [weakCompareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/weakcompareexchange(expected:desired:successordering:failureordering:)-2ywaz.md)
- [weakCompareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/weakcompareexchange(expected:desired:successordering:failureordering:)-3p8t6.md)
- [weakCompareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/weakcompareexchange(expected:desired:successordering:failureordering:)-7vtyo.md)
- [weakCompareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/weakcompareexchange(expected:desired:successordering:failureordering:)-9kx2t.md)
- [weakCompareExchange(expected:desired:successOrdering:failureOrdering:)](synchronization/atomic/weakcompareexchange(expected:desired:successordering:failureordering:)-kfa8.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-1cynr.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-35sou.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-3ihte.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-3ltc9.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-4da1i.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-7flp6.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-8rrye.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-8wun9.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-9ce27.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-bmso.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-u8d5.md)
- [wrappingAdd(_:ordering:)](synchronization/atomic/wrappingadd(_:ordering:)-ussb.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-1bgvk.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-3795w.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-43111.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-6g9gv.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-6xyiw.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-6y8r7.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-7136k.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-7203n.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-7k1nk.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-83zzr.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-8o6j2.md)
- [wrappingSubtract(_:ordering:)](synchronization/atomic/wrappingsubtract(_:ordering:)-8xrpg.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Atomic Values

- [AtomicLazyReference](synchronization/atomiclazyreference.md)
- [WordPair](synchronization/wordpair.md)
- [AtomicRepresentable](synchronization/atomicrepresentable.md)
- [AtomicOptionalRepresentable](synchronization/atomicoptionalrepresentable.md)
