[#boost-urls-string_token-arg] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/string_token.adoc[string_token]::arg :relfileprefix: ../../../ :mrdocs: Base class for string tokens, and algorithm parameters == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/string_token.hpp#L51[boost/url/grammar/string_token.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct arg; ---- == Member Functions [cols=2] |=== | Name | Description | xref:boost/urls/string_token/arg/2constructor.adoc[`arg`] [.small]#[constructor]# | Default constructor Default move constructor Deleted copy constructor | xref:boost/urls/string_token/arg/operator_assign.adoc[`operator=`] [.small]#[deleted]# | Deleted copy assignment Deleted move assignment | xref:boost/urls/string_token/arg/prepare.adoc[`prepare`] [.small]#[virtual]# | Return a modifiable character buffer | xref:boost/urls/string_token/arg/2destructor.adoc[`~arg`] [.small]#[destructor]# [.small]#[virtual]# | Virtual destructor |=== == Description This abstract interface provides a means for an algorithm to generically obtain a modifiable, contiguous character buffer of prescribed size. A xref:boost/urls/string_token/StringToken.adoc[StringToken] should be derived from this class. As the author of an algorithm using a xref:boost/urls/string_token/StringToken.adoc[StringToken], 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. [.small]#Created with https://www.mrdocs.com[MrDocs]#