[tuple.general]

# 22 General utilities library [[utilities]](./#utilities)

## 22.4 Tuples [[tuple]](tuple#general)

### 22.4.1 General [tuple.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L1508)

Subclause [[tuple]](tuple "22.4 Tuples") describes the tuple library that provides a tuple type as
the class template tuple that can be instantiated with any number
of arguments[.](#1.sentence-1)

Each template argument specifies
the type of an element in the tuple[.](#1.sentence-2)

Consequently, tuples are
heterogeneous, fixed-size collections of values[.](#1.sentence-3)

An instantiation of tuple with
two arguments is similar to an instantiation of pair with the same two arguments[.](#1.sentence-4)

See [[pairs]](pairs "22.3 Pairs")[.](#1.sentence-5)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L1518)

In addition to being available via inclusion of the [<tuple>](tuple.syn#header:%3ctuple%3e "22.4.2 Header <tuple> synopsis [tuple.syn]") header,ignore ([[tuple.syn]](tuple.syn "22.4.2 Header <tuple> synopsis")) is available when[<utility>](utility.syn#header:%3cutility%3e "22.2.1 Header <utility> synopsis [utility.syn]") ([[utility]](utility "22.2 Utility components")) is included[.](#2.sentence-1)
