MCPcopy Create free account
hub / github.com/dail8859/NotepadNext / removeDuplicates

Function removeDuplicates

src/ByteArrayUtils.h:84–97  ·  view source on GitHub ↗

Remove duplicates and preserve order.

Source from the content-addressed store, hash-verified

82
83// Remove duplicates and preserve order.
84inline void removeDuplicates(QList<QByteArrayView>& parts)
85{
86 std::unordered_set<QByteArray, std::hash<QByteArray>> seen;
87
88 auto newEnd = std::remove_if(parts.begin(), parts.end(), [&seen](const QByteArrayView& v) {
89 QByteArray key(v.data(), v.size()); // copy once per unique value
90 if (seen.find(key) != seen.end())
91 return true; // duplicate, remove
92 seen.insert(std::move(key));
93 return false; // first occurrence, keep
94 });
95
96 parts.erase(newEnd, parts.end());
97}
98
99
100// Remove only *consecutive* duplicates.

Callers 1

removeDuplicateLinesMethod · 0.85

Calls 4

endMethod · 0.80
findMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected