:relfileprefix: ../../../
[#boost-urls-segments_encoded_ref-replace-07]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/segments_encoded_ref.adoc[pass:[segments_encoded_ref]]::replace


Replace segments


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/segments_encoded_ref.hpp#L591[boost/url/segments_encoded_ref.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/segments_encoded_base/iterator.adoc[iterator]
replace(
    xref:boost/urls/segments_encoded_base/iterator.adoc[iterator] pos,
    xref:boost/urls/pct_string_view.adoc[pct_string_view] s);
----

== Description


This function replaces the segment at
the specified position.
Reserved characters in the string are
automatically escaped.
Escapes in the string are preserved.



All iterators that are equal to
`pos` or come after are invalidated.

=== Complexity

Linear in `s.size() + this-&gt;url().encoded_resouce().size()`.

=== Exception Safety

Strong guarantee.
Calls to allocate may throw.




== Return Value


An iterator to the replaced segment.



== Parameters

|===
| Name | Description 

| *pos*
| 
An iterator to the segment.

| *s*
| 
The string to assign.

|===




