[#BloombergLP-bslmf-InvokeResult_AddCVRef] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::InvokeResult_AddCVRef :relfileprefix: ../../ :mrdocs: Starting with type, `t_UNQUAL_TYPE`, generate a new type by applying the following steps in order: == Synopsis Declared in `<bslmf_invokeresult.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_UNQUAL_TYPE, bool t_IS_CONST, bool t_IS_VOLATILE, bool t_IS_LVALUE> struct InvokeResult_AddCVRef; ---- == Description 1. If the specified `t_IS_CONST` parameter is true, apply `bsl::add_const`; otherwise leave unchanged. 2. If the specified `t_IS_VOLATILE` parameter is true, apply `bsl::add_volatile`; otherwise leave unchanged. 3. If the specified `t_IS_LVALUE` parameter is true, apply `bsl::add_lvalue_reference`; otherwise leave unchanged. Set the `type` member to the resulting type. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/InvokeResult_AddCVRef/type.adoc[`type`] | Type produced by applying the specified cv‐ and reference‐qualifiers. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#