while(target < pos){
if(buffer[target] == '\n'){
target++;
std::string res(buffer.data(), 0, target);
std::copy(buffer.data() + target, buffer.data() + pos, buffer.data() );
pos -= target;
while(target < pos){
if(buffer[target] == '\n'){
target++;
std::string res(buffer.data(), 0, target);
std::copy(buffer.data() + target, buffer.data() + pos, buffer.data() );
pos -= target;