Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
-
13
-
eb60e9402 (dev)
Description
After we've detected that we need to change the container in toUppper(), don't detach(). Instead, check if we're shared. If we're not shared, do the change in-place, until we find that we need to grow the string ("slow case" in detachAndConvertCase()). Otherwise, or when we find we need to grow, make a new container, copy the subset that forms the final result over, then assign the new container to *this.
See epic for more details.
Acceptance criteria: The following member functions no longer detach:
- toUpper()/toLower()/toCaseFolded() (all overloads)