Alien-libpanda
view release on metacpan or search on metacpan
src/panda/basic_string.h view on Meta::CPAN
_new_internal_from_sso(capacity);
return;
}
else if (_capacity_sso() < capacity) {
traits_type::move(_sso, _str, _length);
_str = _sso;
}
}
// splits string into pwo pieces at position 'pos' with insert_count distance between them replacing remove_count chars after pos.
// Tries its best not to allocate memory. set the length of string to old length + insert_count - remove_count.
// The content of part [pos, pos+insert_count) is undefined after operation
void _reserve_middle (size_type pos, size_type remove_count, size_type insert_count) {
size_type newlen = _length + insert_count - remove_count;
switch (_state) {
case State::INTERNAL:
if (_storage.internal->refcnt > 1) {
--_storage.internal->refcnt;
_reserve_middle_new(pos, remove_count, insert_count);
}
( run in 1.072 second using v1.01-cache-2.11-cpan-4e96b696675 )