MCPcopy Create free account
hub / github.com/ElementsProject/elements / EraseLastKElements

Function EraseLastKElements

src/net.cpp:952–959  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

950//! Sort an array by the specified comparator, then erase the last K elements where predicate is true.
951template <typename T, typename Comparator>
952static void EraseLastKElements(
953 std::vector<T>& elements, Comparator comparator, size_t k,
954 std::function<bool(const NodeEvictionCandidate&)> predicate = [](const NodeEvictionCandidate& n) { return true; })
955{
956 std::sort(elements.begin(), elements.end(), comparator);
957 size_t eraseSize = std::min(k, elements.size());
958 elements.erase(std::remove_if(elements.end() - eraseSize, elements.end(), predicate), elements.end());
959}
960
961void ProtectEvictionCandidatesByRatio(std::vector<NodeEvictionCandidate>& eviction_candidates)
962{

Callers 2

SelectNodeToEvictFunction · 0.85

Calls 4

beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected