diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-01-27 10:46:36 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-01-27 10:46:36 +0000 |
commit | a3af79eab6131f17e2be677c12e720c4746cfec1 (patch) | |
tree | 743507653107d87f94c2292b40cad9814773c85b /libstdc++-v3 | |
parent | 4137ba7ab7a1d7be1a3452dcf7f5a3818dcb4c6b (diff) | |
download | gcc-a3af79eab6131f17e2be677c12e720c4746cfec1.zip gcc-a3af79eab6131f17e2be677c12e720c4746cfec1.tar.gz gcc-a3af79eab6131f17e2be677c12e720c4746cfec1.tar.bz2 |
basic_string.tcc (basic_string(const basic_string&, size_type, size_type), [...]): Avoid unnecessarily constructing iterators.
2004-01-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.tcc
(basic_string(const basic_string&, size_type, size_type),
basic_string(const basic_string&, size_type, size_type,
const _Alloc&)): Avoid unnecessarily constructing iterators.
From-SVN: r76696
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.tcc | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 91b866e..b3a706f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2004-01-27 Paolo Carlini <pcarlini@suse.de> + + * include/bits/basic_string.tcc + (basic_string(const basic_string&, size_type, size_type), + basic_string(const basic_string&, size_type, size_type, + const _Alloc&)): Avoid unnecessarily constructing iterators. + 2004-01-26 Paolo Carlini <pcarlini@suse.de> * config/locale/generic/c_locale.cc: Fix throw messages diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index 1e9d33e..733a11d 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -207,10 +207,10 @@ namespace std template<typename _CharT, typename _Traits, typename _Alloc> basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n) - : _M_dataplus(_S_construct(__str._M_ibegin() + : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), - __str._M_ibegin() + __pos + __str._M_data() + __pos + __str._M_limit(__pos, __n), _Alloc()), _Alloc()) { } @@ -219,10 +219,10 @@ namespace std basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a) - : _M_dataplus(_S_construct(__str._M_ibegin() + : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), - __str._M_ibegin() + __pos + __str._M_data() + __pos + __str._M_limit(__pos, __n), __a), __a) { } |