From: Paolo Carlini Date: Tue, 27 Jan 2004 10:46:36 +0000 (+0000) Subject: basic_string.tcc (basic_string(const basic_string&, size_type, size_type), [...]... X-Git-Tag: releases/gcc-4.0.0~10657 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a3af79eab6131f17e2be677c12e720c4746cfec1;p=thirdparty%2Fgcc.git basic_string.tcc (basic_string(const basic_string&, size_type, size_type), [...]): Avoid unnecessarily constructing iterators. 2004-01-27 Paolo Carlini * 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 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 91b866ea47d1..b3a706fa44b2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2004-01-27 Paolo Carlini + + * 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 * 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 1e9d33e65c19..733a11d82334 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -207,10 +207,10 @@ namespace std template 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) { }