string range optimizations
This commit is contained in:
parent
a31ddba522
commit
60a04937c6
|
@ -165,6 +165,17 @@ public:
|
||||||
return ret ? ret : (size() - s.size());
|
return ret ? ret : (size() - s.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename R>
|
||||||
|
EnableIf<IsOutputRange<R>, Size> copy(R &&orange, Size n = -1) {
|
||||||
|
return orange.put_n(data(), ostd::min(n, size()));
|
||||||
|
}
|
||||||
|
|
||||||
|
Size copy(RemoveCv<T> *p, Size n = -1) {
|
||||||
|
Size c = ostd::min(n, size());
|
||||||
|
memcpy(p, data(), c * sizeof(T));
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
T *p_beg, *p_end;
|
T *p_beg, *p_end;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue