data.tuple ≡
template <typename T1, typename T2> struct tuple2 §source
template <typename T1, typename T2, typename T3> struct tuple3 §source
template <typename T1, typename T2, typename T3, typename T4> struct tuple4 §source
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.