data.tuple


template <typename T1, typename T2>
struct tuple2 §source

Fields

template <typename T1, typename T2, typename T3>
struct tuple3 §source

Fields

template <typename T1, typename T2, typename T3, typename T4>
struct tuple4 §source

Fields

template <typename T1, typename T2>
using pair = tuple2<T1, T2> §source

For improved type inference, consume tuple2 and produce pair. For example, the compiler is able to infer the template of first in first(make_pair(1, 2)).

template <typename T1, typename T2>
inline pair<T1, T2> make_pair(T1 x, T2 y) §source

Create a pair of values.

template <typename T1, typename T2>
inline auto first(tuple2<T1, T2> x) §source

Return the first value of a pair.

Example
>>> first(make_pair(1, 2));
1
template <typename T1, typename T2>
inline auto second(tuple2<T1, T2> x) §source

Return the second value of a pair.

Example
>>> second(make_pair(1, 2));
2
template <typename T1, typename T2>
inline pair<T2, T1> swap(tuple2<T1, T2> p) §source

Swap the components of a pair.

prop> swap(swap(x)) == x
template <typename T1, typename T2>
inline bool equal(tuple2<T1, T2> x, tuple2<T1, T2> y) §source

Compare pairs for equality.