:relfileprefix: ../../../ [#boost-urls-grammar-range] = xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/grammar.adoc[pass:[grammar]]::range A forward range of parsed elements == Synopsis Declared in header `` [source,cpp,subs="verbatim,macros,-callouts"] ---- template class range; ---- == Types [cols=2,separator=¦] |=== ¦Name ¦Description ¦xref:boost/urls/grammar/range/const_iterator.adoc[`const_iterator`] ¦ A constant, forward iterator to elements of the range ¦xref:boost/urls/grammar/range/const_reference.adoc[`const_reference`] ¦ The type of each element of the range ¦xref:boost/urls/grammar/range/difference_type.adoc[`difference_type`] ¦ The type used to represent signed integers ¦xref:boost/urls/grammar/range/iterator.adoc[`iterator`] ¦ A constant, forward iterator to elements of the range ¦xref:boost/urls/grammar/range/pointer.adoc[`pointer`] ¦ Provided for compatibility, unused ¦xref:boost/urls/grammar/range/reference.adoc[`reference`] ¦ The type of each element of the range ¦xref:boost/urls/grammar/range/size_type.adoc[`size_type`] ¦ The type used to represent unsigned integers ¦xref:boost/urls/grammar/range/value_type.adoc[`value_type`] ¦ The type of each element of the range |=== == Member Functions [cols=2,separator=¦] |=== ¦Name ¦Description ¦xref:boost/urls/grammar/range/begin.adoc[`begin`] ¦ Return an iterator to the beginning ¦xref:boost/urls/grammar/range/empty.adoc[`empty`] ¦ Return true if the range is empty ¦xref:boost/urls/grammar/range/end.adoc[`end`] ¦ Return an iterator to the end ¦xref:boost/urls/grammar/range/operator_assign.adoc[`operator=`] ¦ Assignment ¦xref:boost/urls/grammar/range/2constructor.adoc[`range`] [.small]#[constructor]# ¦ Constructor ¦xref:boost/urls/grammar/range/size.adoc[`size`] ¦ Return the number of elements in the range ¦xref:boost/urls/grammar/range/string.adoc[`string`] ¦ Return the matching part of the string ¦xref:boost/urls/grammar/range/2destructor.adoc[`~range`] [.small]#[destructor]# ¦ Destructor |=== == Description Objects of this type are forward ranges returned when parsing using the xref:boost/urls/grammar/range_rule-02.adoc[range_rule] . Iteration is performed by re-parsing the underlying character buffer. Ownership of the buffer is not transferred; the caller is responsible for ensuring that the lifetime of the buffer extends until it is no longer referenced by the range. [NOTE] The implementation may use temporary, recycled storage for type-erasure. Objects of type `range` are intended to be used ephemerally. That is, for short durations such as within a function scope. If it is necessary to store the range for a long period of time or with static storage duration, it is necessary to copy the contents to an object of a different type. == See Also xref:boost/urls/grammar/parse-02.adoc[parse] , xref:boost/urls/grammar/range_rule-02.adoc[range_rule] .