[#boost-urls-string_token-arg]
= xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::xref:boost/urls/string_token.adoc[string&lowbar;token]::arg
:relfileprefix: ../../../
:mrdocs:


Base class for string tokens, and algorithm parameters

== Synopsis


Declared in `&lt;https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/string_token.hpp#L51[boost&sol;url&sol;grammar&sol;string&lowbar;token&period;hpp]&gt;`

[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&equals;`]  [.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[`&#126;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&period;

A xref:boost/urls/string_token/StringToken.adoc[StringToken] should be derived    from this class&period; 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&period;

Instances of this type are intended only    to be used once and then destroyed&period;


=== Example

The declared function accepts any    temporary instance of `arg` to be    used for writing&colon;

[,cpp]
----
void algorithm( string_token::arg&& dest );
----
To implement the interface for your type    or use&hyphen;case, derive from the class and    implement the prepare function&period;





[.small]#Created with https://www.mrdocs.com[MrDocs]#
