| 261 | } |
| 262 | |
| 263 | struct Foo { |
| 264 | int x; |
| 265 | Foo() : x(0) {} |
| 266 | explicit Foo(int x2) : x(x2) {} |
| 267 | void operator+=(const Foo& rhs) { |
| 268 | x += rhs.x; |
| 269 | } |
| 270 | }; |
| 271 | |
| 272 | std::ostream& operator<<(std::ostream& os, const Foo& f) { |
| 273 | return os << "Foo{" << f.x << "}"; |