2002-01-14 Paolo Carlini <pcarlini@unitus.it>
authorPaolo Carlini <pcarlini@unitus.it>
Mon, 14 Jan 2002 19:04:15 +0000 (20:04 +0100)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 14 Jan 2002 19:04:15 +0000 (19:04 +0000)
commitc68cd521fa1b275d85b93b157b4cff9415389caa
treecaa42f7b432dd4506dde01e7d8c7e1563d243029
parent9f37ccb1946e0333e03cf6bcecad46e410a7158b
2002-01-14  Paolo Carlini  <pcarlini@unitus.it>
    Nathan Myers  <ncm@cantrip.org>

* include/bits/basic_string.h
(replace(__pos, __n1, __s, __n2)): Optimize by avoiding
temporaries (i.e., call _M_replace_safe) when possible.
(replace(__pos, __n, __str)): Call replace(__pos, __n1, __s, __n2).
(replace(__pos, __n1, __s)): Call replace(__pos, __n1, __s , __n2).
(replace(__i1, __i2, __str)): Call replace(__i1, __i2, __s, __n).
(replace(__i1, __i2, __s)): Call replace(__i1, __i2, __s, __n).
(replace(__i1, __i2, __s, __n)): Call replace(__pos1, __n1, __s, __n2).
* include/bits/basic_string.tcc
(replace(__pos1, __n1, __str, __pos2, __n2)): Call
replace(__pos, __n1, __s, __n2).
* testsuite/21_strings/replace.cc (test03): New testcases.

* include/bits/basic_string.h (insert(__pos, __s, __n)):
Adjust comparison wrt overflow.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r48834
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/testsuite/21_strings/replace.cc