Program Listing for File file_utils.cpp¶
↰ Return to documentation for file (src/common/file_utils.cpp
)
#include "common/file_utils.h"
#include "common/utils.h"
namespace marian {
namespace fileutils {
void cut(const std::string& tsvIn,
Ptr<io::TemporaryFile> tsvOut,
const std::vector<size_t>& fields,
size_t numFields,
const std::string& sep /*= "\t"*/) {
std::vector<std::string> tsvFields(numFields);
std::string line;
io::InputFileStream ioIn(tsvIn);
while(getline(ioIn, line)) {
tsvFields.clear();
utils::splitTsv(line, tsvFields, numFields); // split tab-separated fields
for(size_t i = 0; i < fields.size(); ++i) {
*tsvOut << tsvFields[fields[i]];
if(i < fields.size() - 1)
*tsvOut << sep; // concatenating fields with the custom separator
}
*tsvOut << std::endl;
}
};
} // namespace fileutils
} // namespace marian