|
@@ -200,13 +200,13 @@ public:
|
|
basic_string& replace(size_type pos, size_type n1, const_pointer s, size_type n2);
|
|
basic_string& replace(size_type pos, size_type n1, const_pointer s, size_type n2);
|
|
basic_string& replace(size_type pos, size_type n1, const_pointer s);
|
|
basic_string& replace(size_type pos, size_type n1, const_pointer s);
|
|
basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c);
|
|
basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c);
|
|
- basic_string& replace(iterator i1, iterator i2, const basic_string& str);
|
|
|
|
- basic_string& replace(iterator i1, iterator i2, const_pointer s, size_type n);
|
|
|
|
- basic_string& replace(iterator i1, iterator i2, const_pointer s);
|
|
|
|
- basic_string& replace(iterator i1, iterator i2, size_type n, value_type c);
|
|
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str);
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, const_pointer s, size_type n);
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, const_pointer s);
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c);
|
|
template<class InputIterator>
|
|
template<class InputIterator>
|
|
- basic_string& replace(iterator i1, iterator i2, InputIterator j1, InputIterator j2);
|
|
|
|
- basic_string& replace(iterator i1, iterator i2, initializer_list<value_type>);
|
|
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2);
|
|
|
|
+ basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>);
|
|
|
|
|
|
size_type copy(pointer s, size_type n, size_type pos = 0) const;
|
|
size_type copy(pointer s, size_type n, size_type pos = 0) const;
|
|
basic_string substr(size_type pos = 0, size_type n = npos) const;
|
|
basic_string substr(size_type pos = 0, size_type n = npos) const;
|
|
@@ -1198,19 +1198,19 @@ public:
|
|
basic_string& replace(size_type __pos, size_type __n1, const_pointer __s, size_type __n2);
|
|
basic_string& replace(size_type __pos, size_type __n1, const_pointer __s, size_type __n2);
|
|
basic_string& replace(size_type __pos, size_type __n1, const_pointer __s);
|
|
basic_string& replace(size_type __pos, size_type __n1, const_pointer __s);
|
|
basic_string& replace(size_type __pos, size_type __n1, size_type __n2, value_type __c);
|
|
basic_string& replace(size_type __pos, size_type __n1, size_type __n2, value_type __c);
|
|
- basic_string& replace(iterator __i1, iterator __i2, const basic_string& __str);
|
|
|
|
- basic_string& replace(iterator __i1, iterator __i2, const_pointer __s, size_type __n);
|
|
|
|
- basic_string& replace(iterator __i1, iterator __i2, const_pointer __s);
|
|
|
|
- basic_string& replace(iterator __i1, iterator __i2, size_type __n, value_type __c);
|
|
|
|
|
|
+ basic_string& replace(const_iterator __i1, const_iterator __i2, const basic_string& __str);
|
|
|
|
+ basic_string& replace(const_iterator __i1, const_iterator __i2, const_pointer __s, size_type __n);
|
|
|
|
+ basic_string& replace(const_iterator __i1, const_iterator __i2, const_pointer __s);
|
|
|
|
+ basic_string& replace(const_iterator __i1, const_iterator __i2, size_type __n, value_type __c);
|
|
template<class _InputIterator>
|
|
template<class _InputIterator>
|
|
typename enable_if
|
|
typename enable_if
|
|
<
|
|
<
|
|
__is_input_iterator<_InputIterator>::value,
|
|
__is_input_iterator<_InputIterator>::value,
|
|
basic_string&
|
|
basic_string&
|
|
>::type
|
|
>::type
|
|
- replace(iterator __i1, iterator __i2, _InputIterator __j1, _InputIterator __j2);
|
|
|
|
|
|
+ replace(const_iterator __i1, const_iterator __i2, _InputIterator __j1, _InputIterator __j2);
|
|
_LIBCPP_INLINE_VISIBILITY
|
|
_LIBCPP_INLINE_VISIBILITY
|
|
- basic_string& replace(iterator __i1, iterator __i2, initializer_list<value_type> __il)
|
|
|
|
|
|
+ basic_string& replace(const_iterator __i1, const_iterator __i2, initializer_list<value_type> __il)
|
|
{return replace(__i1, __i2, __il.begin(), __il.end());}
|
|
{return replace(__i1, __i2, __il.begin(), __il.end());}
|
|
|
|
|
|
size_type copy(pointer __s, size_type __n, size_type __pos = 0) const;
|
|
size_type copy(pointer __s, size_type __n, size_type __pos = 0) const;
|
|
@@ -2400,7 +2400,7 @@ typename enable_if
|
|
__is_input_iterator<_InputIterator>::value,
|
|
__is_input_iterator<_InputIterator>::value,
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
>::type
|
|
>::type
|
|
-basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2,
|
|
|
|
|
|
+basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2,
|
|
_InputIterator __j1, _InputIterator __j2)
|
|
_InputIterator __j1, _InputIterator __j2)
|
|
{
|
|
{
|
|
for (; true; ++__i1, ++__j1)
|
|
for (; true; ++__i1, ++__j1)
|
|
@@ -2416,7 +2416,7 @@ basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2,
|
|
erase(__i1, __i2);
|
|
erase(__i1, __i2);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- traits_type::assign(*__i1, *__j1);
|
|
|
|
|
|
+ traits_type::assign(const_cast<value_type&>(*__i1), *__j1);
|
|
}
|
|
}
|
|
return *this;
|
|
return *this;
|
|
}
|
|
}
|
|
@@ -2453,7 +2453,7 @@ basic_string<_CharT, _Traits, _Allocator>::replace(size_type __pos, size_type __
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
-basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2, const basic_string& __str)
|
|
|
|
|
|
+basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const basic_string& __str)
|
|
{
|
|
{
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1),
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1),
|
|
__str.data(), __str.size());
|
|
__str.data(), __str.size());
|
|
@@ -2462,7 +2462,7 @@ basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2,
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
-basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2, const_pointer __s, size_type __n)
|
|
|
|
|
|
+basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const_pointer __s, size_type __n)
|
|
{
|
|
{
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s, __n);
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s, __n);
|
|
}
|
|
}
|
|
@@ -2470,7 +2470,7 @@ basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2,
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
-basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2, const_pointer __s)
|
|
|
|
|
|
+basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, const_pointer __s)
|
|
{
|
|
{
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s);
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __s);
|
|
}
|
|
}
|
|
@@ -2478,7 +2478,7 @@ basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2,
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
template <class _CharT, class _Traits, class _Allocator>
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
_LIBCPP_INLINE_VISIBILITY inline
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
basic_string<_CharT, _Traits, _Allocator>&
|
|
-basic_string<_CharT, _Traits, _Allocator>::replace(iterator __i1, iterator __i2, size_type __n, value_type __c)
|
|
|
|
|
|
+basic_string<_CharT, _Traits, _Allocator>::replace(const_iterator __i1, const_iterator __i2, size_type __n, value_type __c)
|
|
{
|
|
{
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __n, __c);
|
|
return replace(static_cast<size_type>(__i1 - begin()), static_cast<size_type>(__i2 - __i1), __n, __c);
|
|
}
|
|
}
|
|
@@ -3719,12 +3719,12 @@ extern template
|
|
extern template
|
|
extern template
|
|
enable_if<__is_input_iterator<char const*>::value, string&>::type
|
|
enable_if<__is_input_iterator<char const*>::value, string&>::type
|
|
string::
|
|
string::
|
|
- replace<char const*>(string::iterator, string::iterator, char const*, char const*);
|
|
|
|
|
|
+ replace<char const*>(string::const_iterator, string::const_iterator, char const*, char const*);
|
|
|
|
|
|
extern template
|
|
extern template
|
|
enable_if<__is_input_iterator<wchar_t const*>::value, wstring&>::type
|
|
enable_if<__is_input_iterator<wchar_t const*>::value, wstring&>::type
|
|
wstring::
|
|
wstring::
|
|
- replace<wchar_t const*>(wstring::iterator, wstring::iterator, wchar_t const*, wchar_t const*);
|
|
|
|
|
|
+ replace<wchar_t const*>(wstring::const_iterator, wstring::const_iterator, wchar_t const*, wchar_t const*);
|
|
|
|
|
|
extern template
|
|
extern template
|
|
enable_if<__is_forward_iterator<wchar_t*>::value, wstring&>::type
|
|
enable_if<__is_forward_iterator<wchar_t*>::value, wstring&>::type
|