Commit 5536e07d by Paolo Carlini Committed by Paolo Carlini

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
parent 78466c0e
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.
......
......@@ -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.
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment