* @brief Python-like convenience function, dropping both the prefix & the suffix formed of given characters. * @see Similar to `boost::algorithm::trim_if(str, is_any_of(set))`. */
| 2521 | * @see Similar to `boost::algorithm::trim_if(str, is_any_of(set))`. |
| 2522 | */ |
| 2523 | string_slice strip(byteset set) const noexcept { |
| 2524 | set = set.inverted(); |
| 2525 | auto new_start = (pointer)sz_find_byteset(start_, length_, &set.raw()); |
| 2526 | return new_start ? string_slice {new_start, |
| 2527 | static_cast<size_type>( |
| 2528 | sz_rfind_byteset(new_start, length_ - (new_start - start_), &set.raw()) - |
| 2529 | new_start + 1)} |
| 2530 | : string_slice(); |
| 2531 | } |
| 2532 | |
| 2533 | #pragma endregion |
| 2534 | #pragma endregion |