From: Paolo Carlini Date: Thu, 28 Oct 2004 01:04:35 +0000 (+0000) Subject: basic_string.h (assign(const basic_string&)): Move out of line... X-Git-Tag: releases/gcc-4.0.0~3635 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5536e07dadf62185e8c033583c8d73cc244c9d13;p=thirdparty%2Fgcc.git basic_string.h (assign(const basic_string&)): Move out of line... 2004-10-27 Paolo Carlini * include/bits/basic_string.h (assign(const basic_string&)): Move out of line... * include/bits/basic_string.tcc: ... here. From-SVN: r89726 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a1b2f5c714d5..3b151fed2dfa 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2004-10-27 Paolo Carlini + + * include/bits/basic_string.h (assign(const basic_string&)): + Move out of line... + * include/bits/basic_string.tcc: ... here. + 2004-10-27 Paolo Carlini * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe): diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index be340ff9420a..e242d0fa191a 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -858,18 +858,7 @@ namespace std * @return Reference to this string. */ basic_string& - assign(const basic_string& __str) - { - if (_M_rep() != __str._M_rep()) - { - // XXX MT - const allocator_type __a = this->get_allocator(); - _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); - _M_rep()->_M_dispose(__a); - _M_data(__tmp); - } - return *this; - } + assign(const basic_string& __str); /** * @brief Set value to a substring of a string. diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index b5f86459b248..e72d07d6ec6a 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -239,6 +239,22 @@ namespace std : _M_dataplus(_S_construct(__beg, __end, __a), __a) { } + template + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + assign(const basic_string& __str) + { + if (_M_rep() != __str._M_rep()) + { + // XXX MT + const allocator_type __a = this->get_allocator(); + _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); + _M_rep()->_M_dispose(__a); + _M_data(__tmp); + } + return *this; + } + template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>::