[#BloombergLP-bslstl-CallableVariable]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::CallableVariable
:relfileprefix: ../../
:mrdocs:

This metafunction returns a `type` that is an alias for `CALLABLE` unless that is a function type, in which case it is an alias for `CALLABLE &amp;`&period; This should be used to declare variables of an arbitrary callable type, typically a template type parameter, that may turn out to be a function type&period; Note that this metafunction is necessary as the C&plus;&plus; language does not allow variables of function type, nor may functions return a function type&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;hashtable&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CALLABLE&gt;
struct CallableVariable;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/CallableVariable/type.adoc[`type`] 
| This `typedef` is an alias to `CALLABLE`, or to `CALLABLE &amp;` when `CALLABLE` is a function type&period;
|===



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