MCPcopy Create free account
hub / github.com/ConorWilliams/libfork / process_replacements

Method process_replacements

tools/make_single_header.cpp:82–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80 }
81
82 static void process_replacements(std::string &str, std::deque<replacement> &replacements) {
83
84 std::sort(replacements.begin(), replacements.end(), [](const auto &lhs, const auto &rhs) {
85 return lhs.pos < rhs.pos;
86 });
87
88 while (!replacements.empty()) {
89
90 auto rep = std::move(replacements.front());
91
92 replacements.pop_front();
93
94 str.replace(lf::impl::checked_cast<std::size_t>(rep.pos),
95 lf::impl::checked_cast<std::size_t>(rep.len),
96 rep.text);
97
98 for (auto &replace : replacements) {
99 replace.pos -= lf::impl::checked_cast<std::size_t>(rep.len) - rep.text.length();
100 }
101 }
102 }
103
104 fs::path m_start_path;
105 std::regex m_regex{include_regex};

Callers

nothing calls this directly

Calls 1

emptyMethod · 0.45

Tested by

no test coverage detected