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

This `struct` template implements a meta&hyphen;function to determine if the (template parameter) `t&lowbar;TYPE` is convertible to `const t&lowbar;CHAR&lowbar;TYPE &ast;`&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class t&lowbar;CHAR&lowbar;TYPE,
    class t&lowbar;TYPE&gt;
struct IsConvertibleToCString
    : xref:bsl/is_convertible.adoc[bsl::is&lowbar;convertible&lt;t&lowbar;TYPE, t&lowbar;CHAR&lowbar;TYPE const*&gt;]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:bsl/is_convertible.adoc[bsl::is&lowbar;convertible&lt;t&lowbar;TYPE, t&lowbar;CHAR&lowbar;TYPE const*&gt;]`
| This `struct` template implements the `is&lowbar;convertible` meta&hyphen;function defined in the C&plus;&plus;11 standard to determine whether the (template parameter) `t&lowbar;FROM&lowbar;TYPE` is implicitly convertible to the (template parameter) `t&lowbar;TO&lowbar;TYPE`&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/integral_constant-02/type.adoc[`type`] 
| Alias for this `integral&lowbar;constant` specialization&period;
| xref:bsl/integral_constant-02/value_type.adoc[`value&lowbar;type`] 
| 
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] 
| Return a copy of the template argument `t&lowbar;VALUE`&period;
| xref:bsl/integral_constant-02/2conversion.adoc[`operator value&lowbar;type`] 
| 
|===


== Static Data Members

[cols="1"]
|===
| Name
| xref:bsl/integral_constant-02/value.adoc[`value`] 
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/IsConvertibleToCString-05.adoc[`IsConvertibleToCString&lt;t&lowbar;CHAR&lowbar;TYPE, t&lowbar;CHAR&lowbar;TYPE const(&)[]&gt;`] 
| This partial specialization of `IsConvertibleToCString` is instantiated when `const t&lowbar;CHAR&lowbar;TYPE (&amp;)&lsqb;&rsqb;` (an unbounded array reference) is tested for convertibility to `const t&lowbar;CHAR&lowbar;TYPE &ast;`&period; This handles edge cases with certain compilers where `bsl&colon;&colon;is&lowbar;convertible` may not correctly handle incomplete array types&period;
|===



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