#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <iterator>
class line : public std::string {};
std::istream &operator>>(std::istream &iss, line &line)
{
std::getline(iss, line, '\n');
return iss;
}
int main()
{
std::istringstream iss("This is \n a test. Let's go on. \n Yeah.");
std::vector<std::string> v(std::istream_iterator<line>{iss}, std::istream_iterator<line>{});
// test
for (auto const &s : v)
std::cout << s << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAKI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxpdGVyYXRvcj4KCmNsYXNzIGxpbmUgOiBwdWJsaWMgc3RkOjpzdHJpbmcge307CgpzdGQ6OmlzdHJlYW0gJm9wZXJhdG9yPj4oc3RkOjppc3RyZWFtICZpc3MsIGxpbmUgJmxpbmUpCnsKCXN0ZDo6Z2V0bGluZShpc3MsIGxpbmUsICdcbicpOwoJcmV0dXJuIGlzczsKfQoKaW50IG1haW4oKQp7CgoJc3RkOjppc3RyaW5nc3RyZWFtIGlzcygiVGhpcyBpcyBcbiBhIHRlc3QuIExldCdzIGdvIG9uLiBcbiBZZWFoLiIpOwoJc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHYoc3RkOjppc3RyZWFtX2l0ZXJhdG9yPGxpbmU+e2lzc30sIHN0ZDo6aXN0cmVhbV9pdGVyYXRvcjxsaW5lPnt9KTsKCgkvLyB0ZXN0Cglmb3IgKGF1dG8gY29uc3QgJnMgOiB2KQoJCXN0ZDo6Y291dCA8PCBzIDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==