24         return buff.find(
'\n') != std::string::npos;
    30         buff.append(input, size);
    42         size_t nl = buff.find(
'\n');
    43         if (nl == std::string::npos)
    45         std::string line(buff.substr(0, nl + 1));
    46         buff.erase(0, nl + 1);
    49         size_t pos = line.rfind(
"\r");
    50         if (pos == line.size() - 1)
    56 LineBuffer::LineBuffer()
 std::string get_next_line()
Return and remove first line in buffer, possibly "". 
const char * c_str()
Peek the complete buffer contents. 
void append(const char *line, size_t size)
Insert data in buffer. 
Implements the line buffer class. 
bool has_lines()
Check if get_next_line() returns a non-empty string.