[#boost-urls-segments_view] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::segments_view :relfileprefix: ../../ :mrdocs: Non‐owning decoded path segment view == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/segments_view.hpp#Lundefined[boost/url/segments_view.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class segments_view : public xref:boost/urls/segments_base.adoc[segments_base] ---- == Description Presents the path of a URL as a read‐only bidirectional range of percent‐decoded segments. The range references the original buffer, so callers must keep that storage alive for as long as the view is accessed. == Example [,cpp] ---- url_view u( "/path/to/file.txt" ); segments_view ps = u.segments(); assert( ps.buffer().data() == u.buffer().data() ); ---- Any percent‐escapes are decoded on demand when iterators are dereferenced. == Iterator Invalidation Changes to the underlying character buffer can invalidate iterators which reference it. == Base Classes [cols="1,4"] |=== |Name|Description | `xref:boost/urls/segments_base.adoc[segments_base]` | Decoded path segment helper base |=== == Types [cols="1,4"] |=== | Name| Description | xref:boost/urls/segments_view/iterator.adoc[`iterator`] | A Bidirectional iterator to a path segment | xref:boost/urls/segments_base/const_iterator.adoc[`const_iterator`] | A Bidirectional iterator to a path segment | xref:boost/urls/segments_base/const_reference.adoc[`const_reference`] | The reference type | xref:boost/urls/segments_base/difference_type.adoc[`difference_type`] | A signed integer type used to represent differences. | xref:boost/urls/segments_base/reference.adoc[`reference`] | The reference type | xref:boost/urls/segments_base/size_type.adoc[`size_type`] | An unsigned integer type used to represent size. | xref:boost/urls/segments_base/value_type.adoc[`value_type`] | The value type |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:boost/urls/segments_view/2constructor-0c9.adoc[`segments_view`] [.small]#[constructor]# | Constructor | xref:boost/urls/segments_view/operator_assign.adoc[`operator=`] | Assignment | xref:boost/urls/segments_base/back.adoc[`back`] | Return the last segment | xref:boost/urls/segments_base/begin.adoc[`begin`] | Return an iterator to the beginning | xref:boost/urls/segments_base/buffer.adoc[`buffer`] | Return the referenced character buffer. | xref:boost/urls/segments_base/empty.adoc[`empty`] | Return true if there are no segments | xref:boost/urls/segments_base/end.adoc[`end`] | Return an iterator to the end | xref:boost/urls/segments_base/front.adoc[`front`] | Return the first segment | xref:boost/urls/segments_base/is_absolute.adoc[`is_absolute`] | Returns true if this references an absolute path. | xref:boost/urls/segments_base/size.adoc[`size`] | Return the number of segments |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:boost/urls/segments_base/max_size.adoc[`max_size`] | Return the maximum number of characters possible |=== == Friends [cols="1,4"] |=== |Name|Description | `xref:boost/urls/segments_ref.adoc[boost::urls::segments_ref]` | Mutable decoded path segment proxy | `xref:boost/urls/segments_encoded_view.adoc[boost::urls::segments_encoded_view]` | Non‐owning encoded path segment view | `xref:boost/urls/url_view_base.adoc[boost::urls::url_view_base]` | Common functionality for containers |=== == See Also xref:boost/urls/segments_encoded_view.adoc[`segments_encoded_view`], xref:boost/urls/segments_encoded_ref.adoc[`segments_encoded_ref`], xref:boost/urls/segments_ref.adoc[`segments_ref`]. [.small]#Created with https://www.mrdocs.com[MrDocs]#