aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2004-10-28 01:04:35 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2004-10-28 01:04:35 +0000
commit5536e07dadf62185e8c033583c8d73cc244c9d13 (patch)
tree5ce4affc027f454ea24bd9841ab45d956e113897
parent78466c0eb542990e45156cab8cce4cf645b3731f (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/basic_string.h13
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc16
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);