[#absl-implicit_cast-00]
= xref:absl.adoc[absl]::implicit&lowbar;cast
:relfileprefix: ../
:mrdocs:

`implicit&lowbar;cast` overloads

== Synopses

Declared in `&lt;absl&sol;base&sol;casts&period;h&gt;`

Performs an implicit conversion between types following the language rules for implicit conversion&semi; if an implicit conversion is otherwise allowed by the language in the given context, this function performs such an implicit conversion&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename To&gt;
constexpr
To
xref:absl/implicit_cast-01.adoc[implicit&lowbar;cast](To to)
requires !type&lowbar;traits&lowbar;internal&colon;&colon;IsView&lt;std&colon;&colon;enable&lowbar;if&lowbar;t&lt;
        !std&colon;&colon;is&lowbar;reference&lowbar;v&lt;To&gt;, std&colon;&colon;remove&lowbar;cv&lowbar;t&lt;To&gt;&gt;&gt;&colon;&colon;value;
----

[.small]#xref:absl/implicit_cast-01.adoc[_» more&period;&period;&period;_]#

Performs an implicit conversion between types following the language rules for implicit conversion&semi; if an implicit conversion is otherwise allowed by the language in the given context, this function performs such an implicit conversion&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename To&gt;
constexpr
To
xref:absl/implicit_cast-07.adoc[implicit&lowbar;cast](To to)
requires !type&lowbar;traits&lowbar;internal&colon;&colon;IsView&lt;std&colon;&colon;enable&lowbar;if&lowbar;t&lt;
        !std&colon;&colon;is&lowbar;reference&lowbar;v&lt;To&gt;, std&colon;&colon;remove&lowbar;cv&lowbar;t&lt;To&gt;&gt;&gt;&colon;&colon;value;
----

[.small]#xref:absl/implicit_cast-07.adoc[_» more&period;&period;&period;_]#

Overload of `implicit&lowbar;cast()` for view types (such as `std&colon;&colon;string&lowbar;view`), which participates in overload resolution when `To` is a non&hyphen;reference view type&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename To&gt;
constexpr
To
xref:absl/implicit_cast-04.adoc[implicit&lowbar;cast](To to)
requires type&lowbar;traits&lowbar;internal&colon;&colon;IsView&lt;std&colon;&colon;enable&lowbar;if&lowbar;t&lt;!std&colon;&colon;is&lowbar;reference&lowbar;v&lt;To&gt;,
                                                  std&colon;&colon;remove&lowbar;cv&lowbar;t&lt;To&gt;&gt;&gt;&colon;&colon;value;
----

[.small]#xref:absl/implicit_cast-04.adoc[_» more&period;&period;&period;_]#

Overload of `implicit&lowbar;cast()` for view types (such as `std&colon;&colon;string&lowbar;view`), which participates in overload resolution when `To` is a non&hyphen;reference view type&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename To&gt;
constexpr
To
xref:absl/implicit_cast-0f.adoc[implicit&lowbar;cast](To to)
requires type&lowbar;traits&lowbar;internal&colon;&colon;IsView&lt;std&colon;&colon;enable&lowbar;if&lowbar;t&lt;!std&colon;&colon;is&lowbar;reference&lowbar;v&lt;To&gt;,
                                                  std&colon;&colon;remove&lowbar;cv&lowbar;t&lt;To&gt;&gt;&gt;&colon;&colon;value;
----

[.small]#xref:absl/implicit_cast-0f.adoc[_» more&period;&period;&period;_]#

Overload of `implicit&lowbar;cast()` for reference types, which participates in overload resolution when `To` is a reference type&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename To&gt;
constexpr
To
xref:absl/implicit_cast-09.adoc[implicit&lowbar;cast](To to)
requires std&colon;&colon;is&lowbar;reference&lowbar;v&lt;To&gt;;
----

[.small]#xref:absl/implicit_cast-09.adoc[_» more&period;&period;&period;_]#

== Return Value

The value of `to`, converted to `To`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *to*
| The value to convert to `To`&period;
|===


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