MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / prioritizelib

Function prioritizelib

tools/dmake/dmake.cpp:295–312  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

293}
294
295static std::vector<std::string> prioritizelib(const std::vector<std::string>& libfiles)
296{
297 std::map<std::string, std::size_t> priorities;
298 std::size_t prio = libfiles.size();
299 for (const auto &l : libfiles) {
300 priorities.emplace(l, prio--);
301 }
302 priorities["lib/valueflow.cpp"] = 1000;
303 priorities["lib/tokenize.cpp"] = 900;
304 priorities["lib/symboldatabase.cpp"] = 800;
305 std::vector<std::string> libfiles_prio = libfiles;
306 std::sort(libfiles_prio.begin(), libfiles_prio.end(), [&](const std::string &l1, const std::string &l2) {
307 const auto p1 = priorities.find(l1);
308 const auto p2 = priorities.find(l2);
309 return (p1 != priorities.end() ? p1->second : 0) > (p2 != priorities.end() ? p2->second : 0);
310 });
311 return libfiles_prio;
312}
313
314static void makeMatchcompiler(std::ostream& fout, const std::string& toolsPrefix, std::string args)
315{

Callers 1

mainFunction · 0.85

Calls 4

sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected