:relfileprefix: ../../../
[#boost-urls-url_base-segments-04]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/url_base.adoc[pass:[url_base]]::segments


Return the path as a container of segments


== Synopsis

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

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/segments_view.adoc[segments_view]
segments() const noexcept;
----

== Description


This function returns a bidirectional
view of strings over the path.
The returned view references the same
underlying character buffer; ownership
is not transferred.
Any percent-escapes in strings returned
when iterating the view are decoded first.

=== Example
[,cpp]
----
segments_view sv = url_view( "/path/to/file.txt" ).segments();
----

=== Complexity

Constant.

=== Exception Safety

Throws nothing.

=== BNF
[,cpp]
----
path          = [ "/" ] segment *( "/" segment )
----

=== Specification

* link:https://datatracker.ietf.org/doc/html/rfc3986#section-3.3[3.3. Path (rfc3986)]








== See Also


xref:boost/urls/url_view_base/is_path_absolute.adoc[is_path_absolute]
,
xref:boost/urls/url_view_base/encoded_path.adoc[encoded_path]
,
xref:boost/urls/url_view_base/encoded_segments.adoc[encoded_segments]
.
xref:boost/urls/url_view_base/path.adoc[path]
,
xref:boost/urls/segments_view.adoc[segments_view]
.



