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

Function join

src/ByteArrayUtils.h:112–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110
111
112inline QByteArray join(const QList<QByteArrayView>& parts, const QByteArray& delimiter)
113{
114 if (parts.isEmpty())
115 return QByteArray();
116
117 const qsizetype dlen = delimiter.size();
118
119 // Compute total size
120 qsizetype total = 0;
121 for (const auto& v : parts)
122 total += v.size();
123 total += dlen * (parts.size() - 1);
124
125 // Allocate final QByteArray
126 QByteArray out;
127 out.resize(total);
128
129 // Copy segments
130 char* dst = out.data();
131 for (int i = 0; i < parts.size(); ++i) {
132 const auto& v = parts[i];
133
134 memcpy(dst, v.data(), v.size());
135 dst += v.size();
136
137 if (i + 1 < parts.size()) {
138 memcpy(dst, delimiter.constData(), dlen);
139 dst += dlen;
140 }
141 }
142
143 return out;
144}
145
146} // namespace ByteArrayViewUtils

Callers 3

removeDuplicateLinesMethod · 0.85
sortMethod · 0.85

Calls 3

isEmptyMethod · 0.80
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected