1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
/* surcharge de l'operateur << pour un std::vector */
template <typename T> std::ostream & operator<<(std::ostream & os,const std::vector<T> & v)
{
if(v.size() == 0)
os << "empty std::vector" << std::endl;
else
{
std::ostream_iterator< T > output( os, " " );
std::copy( v.begin(), v.end(), output );
}
return os;
}
/* surcharge de l'operateur << pour un std::set */
template <typename T> std::ostream & operator<<(std::ostream & os,const std::set<T> & s)
{
if(s.size() == 0)
os << "empty std::set" << std::endl;
else
{
std::ostream_iterator< T > output( os, " " );
std::copy( s.begin(), s.end(), output );
}
return os;
}
/* surcharge de l'operateur << pour un std::list */
template <typename T> std::ostream & operator<<(std::ostream & os,const std::list<T> & l)
{
if(l.size() == 0)
os << "empty std::list" << std::endl;
else
{
std::ostream_iterator< T > output( os, " " );
std::copy( l.begin(), l.end(), output );
}
return os;
}
/* surcharge de l'operateur << pour un std::multiset */
template <typename T> std::ostream & operator<<(std::ostream & os,const std::multiset<T> & ms)
{
if(ms.size() == 0)
os << "empty std::multiset" << std::endl;
else
{
std::ostream_iterator< T > output( os, " " );
std::copy( ms.begin(), ms.end(), output );
}
return os;
}
/* surcharge de l'operateur << pour un std::pair */
template <class T1, class T2> std::ostream & operator<<(std::ostream & os,const std::pair<T1, T2> & p)
{
os << p.first << " " << p.second << std::endl;
return os;
} |
Partager