[#bsl-add_volatile]
= xref:bsl.adoc[bsl]::add&lowbar;volatile
:relfileprefix: ../
:mrdocs:

Metafunction adding a top&hyphen;level `volatile` qualifier to a type&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;addvolatile&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
struct add&lowbar;volatile;
----

== Description

This `struct` template implements the `add&lowbar;volatile` meta&hyphen;function defined in the C&plus;&plus;11 standard &lsqb;meta&period;trans&period;cv&rsqb;, providing an alias, `type`, that returns the result&period; If the (template parameter) `t&lowbar;TYPE` is not a reference type, nor a function type, nor already `volatile`&hyphen;qualified at the top&hyphen;level, then `type` is an alias to `t&lowbar;TYPE` with a top&hyphen;level `volatile`&hyphen;qualifier added&semi; otherwise, `type` is an alias to `t&lowbar;TYPE`&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/add_volatile/type.adoc[`type`] 
| Alias to `t&lowbar;TYPE` with a top&hyphen;level `volatile`&hyphen;qualifier when applicable&period;
|===



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