7 #ifndef ELM_UTIL_PAIR_H
8 #define ELM_UTIL_PAIR_H
12 namespace io {
class Output; }
15 template <
class T1,
class T2>
21 inline Pair(
const T1& _fst,
const T2& _snd):
fst(_fst),
snd(_snd) { }
29 template <
class T1,
class T2>
32 inline RefPair(T1& r1, T2& r2): v1(r1), v2(r2) { }
42 template <
class T1,
class T2>
io::Output& operator<<(io::Output& out, Pair<T1, T2>& p) {
out << p.fst <<
", " << p.snd;
return out; }
RefPair(T1 &r1, T2 &r2)
Definition: Pair.h:32
Pair< T1, T2 > & operator=(const Pair< T1, T2 > &pair)
Definition: Pair.h:23
Pair< T1, T2 > pair(const T1 &v1, const T2 &v2)
Definition: Pair.h:41
Pair(void)
Definition: Pair.h:20
T1 fst
Definition: Pair.h:18
Pair(const Pair< T1, T2 > &pair)
Definition: Pair.h:22
RefPair< T1, T2 > & operator=(const Pair< T1, T2 > &p)
Definition: Pair.h:33
sys::SystemOutStream & out
Definition: system_SystemIO.cpp:101
Pair(const T1 &_fst, const T2 &_snd)
Definition: Pair.h:21
T2 snd
Definition: Pair.h:19
bool operator==(const Pair< T1, T2 > &pair) const
Definition: Pair.h:24
RefPair< T1, T2 > let(T1 &v1, T2 &v2)
Definition: Pair.h:43