[#boost-urls-segments_encoded_ref-iterator]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/segments_encoded_ref.adoc[segments&lowbar;encoded&lowbar;ref]::iterator
:relfileprefix: ../../../
:mrdocs:

A Bidirectional iterator to a path segment

== Synopsis

Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/impl/segments_encoded_base.hpp#L23[boost&sol;url&sol;impl&sol;segments&lowbar;encoded&lowbar;base&period;hpp]&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class iterator { /* see-below */ };
----

== Description

Objects of this type allow iteration through the segments in the path&period; Strings returned by iterators may contain percent escapes&period; The values returned are read&hyphen;only&semi; changes to segments must be made through the container instead, if the container supports modification&period;

The strings produced when iterators are dereferenced refer to the underlying character buffer&period; Ownership is not transferred&semi; the caller is responsible for ensuring that the lifetime of the buffer extends until it is no longer referenced by any container or iterator&period;

== Friends

[cols="1,4"]
|===
|Name|Description

| `boost::urls::detail::segments&lowbar;iter&lowbar;access`
| 
| `xref:boost/urls/segments_encoded_ref.adoc[boost::urls::segments&lowbar;encoded&lowbar;ref]`
| A view representing path segments in a URL
| `xref:boost/urls/segments_encoded_base.adoc[boost::urls::segments&lowbar;encoded&lowbar;base]`
| Common functionality for containers
| `xref:boost/urls/url_base.adoc[boost::urls::url&lowbar;base]`
| Common functionality for containers
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
