47 template<
class Type1,
class Type2>
50 template<
class Type1,
class Type2>
51 Istream&
operator>>(Istream&, Tuple<Type1, Type2>&);
53 template<
class Type1,
class Type2>
54 Ostream& operator<<(Ostream&, const Tuple<Type1, Type2>&);
60 template<
class Type1,
class Type2>
90 is >> first_ >> second_;
96 is.
check(
"Tuple::Tuple(Istream&)");
135 inline friend bool operator==
143 (a.first_ ==
b.first_) && (a.second_ ==
b.second_)
147 inline friend bool operator!=
159 friend Istream&
operator>> <Type1, Type2>
164 friend Ostream& operator<< <Type1, Type2>
174 template<
class Type1,
class Type2>
180 is >> p.first_ >> p.second_;
183 is.
readEnd(
"Tuple<Type, Type>");
186 is.
check(
"Istream& operator>>(Istream&, Tuple<Type, Type>&)");
191 template<
class Type1,
class Type2>
192 Ostream& operator<<(Ostream& os, const Tuple<Type1, Type2>&
p)
200 os.check(
"Ostream& operator<<(Ostream&, const Tuple<Type, Type>&)");