fork(2) download
  1. #include <iostream>
  2. #include <utility>
  3.  
  4. template<typename T, typename = decltype(std::declval<T>().print_to(std::declval<std::ostream&>()))>
  5. std::ostream &operator<<(std::ostream &s, const T &t) {
  6. t.print_to(s);
  7. return s;
  8. }
  9.  
  10. struct foo {
  11. void print_to(std::ostream &s) const {
  12. s << "foo";
  13. }
  14. };
  15.  
  16. int main() {
  17. std::cout << foo() << "\n";
  18. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
foo