template std::string getline(T & in) {   std::string retval = "";   bool run = true;     while(run)   {       char buffer[2048+1] = {0};         in.get(buffer, sizeof(buffer)-1, '\n'); if(in.eof()) break;       size_t len = strlen(buffer);       if(len == 0) break;       if(buffer[len-1] == '\n')       {          buffer[len-1] = 0;          run = false;       }       retval += buffer;   }   return retval; } std::string test = getline(cin);