6#ifndef OutputOperator_h
7#define OutputOperator_h
48 virtual std::ostream&
info(std::ostream&
os)
const;
54 std::ostream& operator<<(std::ostream&
os,
const std::unique_ptr<F>& p) {
55 if (p.get())
return os <<
"&" << *p;
64template<
class F,
class G>
65std::ostream& operator<<(std::ostream& os,
const std::pair<F,G>& p) {
66 return os <<
"std::pair(" << p.first <<
", " << p.second <<
")";
71 template<
class F,
class G>
72 std::ostream& operator<<(std::ostream&
os,
const std::pair<F,G>& p) {
73 return os <<
"std::pair(" << p.first <<
", " << p.second <<
")";
78 template<
class F,
class G>
79 std::ostream& operator<<(std::ostream&
os,
const std::map<F,G*>& m) {
81 typename std::map<F,G*>::const_iterator i = m.begin();
82 for(; i != m.end(); ++i)
83 os << std::endl <<
" ("
85 << *i->second <<
") ";
89 template<
class F,
class G>
90 std::ostream& operator<<(std::ostream&
os,
const std::map<F,G>& m) {
92 typename std::map<F,G>::const_iterator i = m.begin();
93 for(; i != m.end(); ++i)
94 os << std::endl <<
" ("
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Set< F > makeSet(uint n, const F &first,...)