| 178 | } |
| 179 | |
| 180 | void MultiFileSentenceIterator::Next() { |
| 181 | TryRead(); |
| 182 | |
| 183 | if (!read_done_ && file_index_ < files_.size()) { |
| 184 | const auto &filename = files_[file_index_++]; |
| 185 | fp_ = filesystem::NewReadableFile(filename); |
| 186 | LOG(INFO) << "Loading corpus: " << filename; |
| 187 | if (fp_->status() != util::OkStatus()) { |
| 188 | file_index_ = files_.size(); |
| 189 | read_done_ = false; |
| 190 | return; |
| 191 | } |
| 192 | |
| 193 | TryRead(); |
| 194 | } |
| 195 | } |
| 196 | |
| 197 | void MultiFileSentenceIterator::TryRead() { |
| 198 | read_done_ = fp_ && fp_->ReadLine(&value_); |