| 76 | }; |
| 77 | |
| 78 | void GetLine(std::stringstream* ss, std::string* line, const VirtualFileReader* reader, std::vector<char>* buffer, size_t buffer_size) { |
| 79 | std::getline(*ss, *line); |
| 80 | while (ss->eof()) { |
| 81 | size_t read_len = reader->Read(buffer->data(), buffer_size); |
| 82 | if (read_len <= 0) { |
| 83 | break; |
| 84 | } |
| 85 | ss->clear(); |
| 86 | ss->str(std::string(buffer->data(), read_len)); |
| 87 | std::string tmp; |
| 88 | std::getline(*ss, tmp); |
| 89 | *line += tmp; |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | std::vector<std::string> ReadKLineFromFile(const char* filename, bool header, int k) { |
| 94 | auto reader = VirtualFileReader::Make(filename); |
no test coverage detected