| 188 | |
| 189 | template <class TStringType> |
| 190 | static void DetachAndFixPointers(TStringType& text, typename TStringType::value_type*& p, const typename TStringType::value_type*& pe) { |
| 191 | const auto pos = p - text.data(); |
| 192 | const auto count = pe - p; |
| 193 | p = text.Detach() + pos; |
| 194 | pe = p + count; |
| 195 | } |
| 196 | |
| 197 | template <class TStringType, typename F> |
| 198 | static bool ModifyStringSymbolwise(TStringType& text, size_t pos, size_t count, F&& f) { |
no test coverage detected