forked from OctaForge/libostd
fix get_n
This commit is contained in:
parent
98decde76a
commit
dd157f8be8
|
@ -466,14 +466,20 @@ template<typename B, typename C, typename V, typename R = V &,
|
||||||
>> Size get_n(OR orange, Size n = -1) {
|
>> Size get_n(OR orange, Size n = -1) {
|
||||||
B &r = *((B *)this);
|
B &r = *((B *)this);
|
||||||
Size on = n;
|
Size on = n;
|
||||||
for (; n && !r.empty() && orange.put(r.front()); --n);
|
for (; n && !r.empty(); --n) {
|
||||||
|
orange.put(r.front());
|
||||||
|
r.pop_front();
|
||||||
|
}
|
||||||
return (on - n);
|
return (on - n);
|
||||||
}
|
}
|
||||||
|
|
||||||
Size get_n(octa::RemoveCv<Value> *p, Size n = -1) {
|
Size get_n(octa::RemoveCv<Value> *p, Size n = -1) {
|
||||||
B &r = *((B *)this);
|
B &r = *((B *)this);
|
||||||
Size on = n;
|
Size on = n;
|
||||||
for (; n && !r.empty(); --n) *p++ = r.front();
|
for (; n && !r.empty(); --n) {
|
||||||
|
*p++ = r.front();
|
||||||
|
r.pop_front();
|
||||||
|
}
|
||||||
return (on - n);
|
return (on - n);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue