2004-01-24 Paolo Carlini <pcarlini@suse.de>
+ * include/bits/basic_string.h (insert(size_type,
+ const basic_string&, size_type, size_type)): Define inline here.
+ * include/bits/basic_string.tcc (insert(size_type,
+ const basic_string&, size_type, size_type)): Move inline.
+
+2004-01-24 Paolo Carlini <pcarlini@suse.de>
+
* include/bits/basic_string.h (assign(const basic_string&,
size_type, size_type)): Define inline here.
(replace(size_type, size_type, const basic_string&,
*/
basic_string&
insert(size_type __pos1, const basic_string& __str,
- size_type __pos2, size_type __n);
+ size_type __pos2, size_type __n)
+ { return this->insert(__pos1, __str._M_data()
+ + __str._M_check(__pos2, "basic_string::insert"),
+ __str._M_limit(__pos2, __n)); }
/**
* @brief Insert a C substring.
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
- insert(size_type __pos1, const basic_string& __str,
- size_type __pos2, size_type __n)
- {
- return this->insert(__pos1, __str._M_data()
- + __str._M_check(__pos2, "basic_string::insert"),
- __str._M_limit(__pos2, __n));
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
insert(size_type __pos, const _CharT* __s, size_type __n)
{
__glibcxx_requires_string_len(__s, __n);