:relfileprefix: ../../../ [#boost-urls-string_token-arg] = xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/string_token.adoc[pass:[string_token]]::arg Base class for string tokens, and algorithm parameters == Synopsis Declared in header `` [source,cpp,subs="verbatim,macros,-callouts"] ---- struct arg; ---- == Member Functions [cols=2,separator=¦] |=== ¦Name ¦Description ¦xref:boost/urls/string_token/arg/2constructor.adoc[`arg`] [.small]#[constructor]# ¦ ¦xref:boost/urls/string_token/arg/operator_assign.adoc[`operator=`] ¦ ¦xref:boost/urls/string_token/arg/prepare.adoc[`prepare`] ¦ Return a modifiable character buffer ¦xref:boost/urls/string_token/arg/2destructor.adoc[`~arg`] [.small]#[destructor]# ¦ |=== == Description This abstract interface provides a means for an algorithm to generically obtain a modifiable, contiguous character buffer of prescribed size. As the author of an algorithm simply declare an rvalue reference as a parameter type. Instances of this type are intended only to be used once and then destroyed. === Example The declared function accepts any temporary instance of `arg` to be used for writing: [,cpp] ---- void algorithm( string_token::arg&& dest ); ---- To implement the interface for your type or use-case, derive from the class and implement the prepare function.