diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-10-28 01:04:35 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-10-28 01:04:35 +0000 |
commit | 5536e07dadf62185e8c033583c8d73cc244c9d13 (patch) | |
tree | 5ce4affc027f454ea24bd9841ab45d956e113897 | |
parent | 78466c0eb542990e45156cab8cce4cf645b3731f (diff) | |
download | gcc-5536e07dadf62185e8c033583c8d73cc244c9d13.zip gcc-5536e07dadf62185e8c033583c8d73cc244c9d13.tar.gz gcc-5536e07dadf62185e8c033583c8d73cc244c9d13.tar.bz2 |
basic_string.h (assign(const basic_string&)): Move out of line...
2004-10-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (assign(const basic_string&)):
Move out of line...
* include/bits/basic_string.tcc: ... here.
From-SVN: r89726
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.h | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.tcc | 16 |
3 files changed, 23 insertions, 12 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a1b2f5c..3b151fe 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2004-10-27 Paolo Carlini <pcarlini@suse.de> + * include/bits/basic_string.h (assign(const basic_string&)): + Move out of line... + * include/bits/basic_string.tcc: ... here. + +2004-10-27 Paolo Carlini <pcarlini@suse.de> + * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe): Move out of line... * include/bits/basic_string.tcc: ... here. diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index be340ff..e242d0f 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 b5f8645..e72d07d 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -242,6 +242,22 @@ namespace std template<typename _CharT, typename _Traits, typename _Alloc> 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<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: assign(const _CharT* __s, size_type __n) { __glibcxx_requires_string_len(__s, __n); |