#include <iostream>
#include <sstream> //for std::ostringstream
struct Trace
{
std::ostringstream ss;
template<typename T>
Trace& operator << (T const & data)
{
ss << data;
return *this;
}
~Trace()
{
std::cout << ss.str() << std::endl;
}
};
int main()
{
Trace() << "Hello World\n" << 100 << "\nBye\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4gLy9mb3Igc3RkOjpvc3RyaW5nc3RyZWFtCgpzdHJ1Y3QgVHJhY2UKewogICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3M7CgogICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICBUcmFjZSYgb3BlcmF0b3IgPDwgKFQgY29uc3QgJiBkYXRhKQogICB7CiAgICAgICAgc3MgPDwgZGF0YTsKICAgICAgICByZXR1cm4gKnRoaXM7CiAgIH0KICAgflRyYWNlKCkKICAgewogICAgICAgc3RkOjpjb3V0IDw8IHNzLnN0cigpIDw8IHN0ZDo6ZW5kbDsKICAgfQp9OwoKaW50IG1haW4oKQp7CiAgICBUcmFjZSgpIDw8ICJIZWxsbyBXb3JsZFxuIiA8PCAxMDAgPDwgIlxuQnllXG4iOwp9