* @brief Erases @b (in-place) a range of characters defined with signed offsets. * @return Number of characters removed. */
| 3475 | * @return Number of characters removed. |
| 3476 | */ |
| 3477 | size_type try_erase(difference_type signed_start_offset = 0, difference_type signed_end_offset = npos) noexcept { |
| 3478 | sz_size_t normalized_offset, normalized_length; |
| 3479 | sz_ssize_clamp_interval(size(), signed_start_offset, signed_end_offset, &normalized_offset, &normalized_length); |
| 3480 | if (!normalized_length) return false; |
| 3481 | sz_string_erase(&string_, normalized_offset, normalized_length); |
| 3482 | return normalized_length; |
| 3483 | } |
| 3484 | |
| 3485 | /** |
| 3486 | * @brief Inserts @b (in-place) a range of characters at a given signed offset. |
no test coverage detected