[#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 &`. 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. Note that this metafunction is necessary as the C++ language does not allow variables of function type, nor may functions return a function type. == Synopsis Declared in `<bslstl_hashtable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class CALLABLE> 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 &` when `CALLABLE` is a function type. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#