[#BloombergLP-bslstl-Function_InvokerUtil_IsExplicitlyConvertible-01]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Function_InvokerUtil_IsExplicitlyConvertible-0c.adoc[Function&lowbar;InvokerUtil&lowbar;IsExplicitlyConvertible]&lt;FROM&lowbar;TO, FROM&lowbar;TO&gt;
:relfileprefix: ../../
:mrdocs:

A type is always explicitly convertible to itself&period; This is important for classes with deleted copy constructors and&sol;or assignment operators, because starting in C&plus;&plus;17, they can be returned from functions, due to &quot;return value optimization (RVO)&quot;&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;function&lowbar;invokerutil&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class FROM&lowbar;TO&gt;
struct xref:BloombergLP/bslstl/Function_InvokerUtil_IsExplicitlyConvertible-0c.adoc[Function&lowbar;InvokerUtil&lowbar;IsExplicitlyConvertible]&lt;FROM&lowbar;TO, FROM&lowbar;TO&gt;
    : xref:bsl/true_type.adoc[bsl::true&lowbar;type]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:bsl/true_type.adoc[bsl::true&lowbar;type]`
| Metafunction representing the boolean constant `true`&period;
|===


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