forked from OctaForge/libostd
octa::concat
parent
593acb35e4
commit
434816840b
|
@ -123,6 +123,19 @@ namespace octa {
|
|||
};
|
||||
|
||||
typedef StringBase<char> String;
|
||||
|
||||
template<typename R>
|
||||
String concat(R range, String sep = " ") {
|
||||
String ret;
|
||||
if (range.empty()) return move(ret);
|
||||
for (;;) {
|
||||
ret += range.first();
|
||||
range.pop_first();
|
||||
if (range.empty()) break;
|
||||
ret += sep;
|
||||
}
|
||||
return move(ret);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
|
@ -72,7 +72,7 @@ namespace octa {
|
|||
Vector(): p_buf(nullptr), p_len(0), p_cap(0) {}
|
||||
|
||||
explicit Vector(size_t n, const T &val = T()): Vector() {
|
||||
p_buf = new uchar[n * sizeof(T)];
|
||||
p_buf = (T *)new uchar[n * sizeof(T)];
|
||||
p_len = p_cap = n;
|
||||
T *cur = p_buf, *last = p_buf + n;
|
||||
while (cur != last) new (cur++) T(val);
|
||||
|
|
Loading…
Reference in New Issue