diff options
| -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) { } |
