[#absl-FunctionRef-0e3]
= xref:absl.adoc[absl]::FunctionRef
:relfileprefix: ../
:mrdocs:

FunctionRef

== Synopsis

Declared in `&lt;absl&sol;functional&sol;function&lowbar;ref&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename T&gt;
class FunctionRef;
----

== Description

Dummy class declaration to allow the partial specialization based on function types below&period;

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:absl/FunctionRef-081.adoc[`FunctionRef&lt;R const(Args&period;&period;&period;)&gt;`] 
| FunctionRef
|===


== Deduction Guides

[cols="1,4"]
|===
| Name| Description
| xref:absl/FunctionRef-0c.adoc[`FunctionRef&lt;F&gt;`] 
| Deduces a `FunctionRef` wrapping a function pointer&period;
| xref:absl/FunctionRef-0e6.adoc[`FunctionRef&lt;std::remove&lowbar;pointer&lowbar;t&lt;decltype(Func)&gt;&gt;`] 
| Deduces a `FunctionRef` wrapping a compile&hyphen;time known free function&period;
| xref:absl/FunctionRef-087.adoc[`FunctionRef&lt;M&gt;`] 
| Deduces a `FunctionRef` wrapping a compile&hyphen;time known member pointer&period;
| xref:absl/FunctionRef-07ee.adoc[`FunctionRef&lt;R(Args&period;&period;&period;)&gt;`] 
| Deduces a `FunctionRef` wrapping a compile&hyphen;time known free function bound to an object argument&period;
| xref:absl/FunctionRef-07e7.adoc[`FunctionRef&lt;std::invoke&lowbar;result&lowbar;t&lt;decltype(Func), U&&gt;()&gt;`] 
| Deduces a `FunctionRef` wrapping a compile&hyphen;time known member function&period;
|===



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