MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / LoadCharsMap

Method LoadCharsMap

external/sentencepiece/src/builder.cc:615–647  ·  view source on GitHub ↗

static

Source from the content-addressed store, hash-verified

613
614// static
615util::Status Builder::LoadCharsMap(absl::string_view filename,
616 CharsMap *chars_map) {
617 LOG(INFO) << "Loading mapping file: " << filename.data();
618 CHECK_OR_RETURN(chars_map);
619
620 auto input = filesystem::NewReadableFile(filename);
621
622 RETURN_IF_ERROR(input->status());
623
624 std::string line;
625 chars_map->clear();
626 while (input->ReadLine(&line)) {
627 std::vector<std::string> fields =
628 absl::StrSplit(line, '\t', absl::AllowEmpty());
629 CHECK_GE(fields.size(), 1);
630 if (fields.size() == 1) fields.push_back(""); // Deletion rule.
631 std::vector<char32> src, trg;
632 for (auto s : absl::StrSplit(fields[0], ' ')) {
633 if (s.empty()) continue;
634 absl::ConsumePrefix(&s, "U+");
635 src.push_back(string_util::HexToInt<char32>(s));
636 }
637 for (auto s : absl::StrSplit(fields[1], ' ')) {
638 if (s.empty()) continue;
639 absl::ConsumePrefix(&s, "U+");
640 trg.push_back(string_util::HexToInt<char32>(s));
641 }
642 CHECK_OR_RETURN(!src.empty());
643 (*chars_map)[src] = trg;
644 }
645
646 return util::OkStatus();
647}
648
649// static
650util::Status Builder::SaveCharsMap(absl::string_view filename,

Callers

nothing calls this directly

Calls 8

NewReadableFileFunction · 0.85
OkStatusFunction · 0.85
ReadLineMethod · 0.80
dataMethod · 0.45
statusMethod · 0.45
clearMethod · 0.45
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected