[#BloombergLP-bdlf-MemFn]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlf.adoc[bdlf]::MemFn
:relfileprefix: ../../
:mrdocs:

Wrapper that invokes a member function pointer like a free function&period;

== Synopsis

Declared in `&lt;bdlf&lowbar;memfn&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class PROTOTYPE&gt;
class MemFn;
----

== Description

This class encapsulates a member function pointer having the parameterized `PROTOTYPE`, such that the member function pointer can be invoked in syntactically the same manner as a free function pointer&period; When invoking a member function through this wrapper, the first argument must be a pointer or reference to the instance on which to invoke the member function pointer&period; Zero to fourteen additional arguments may be specified depending on `PROTOTYPE`&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlf/MemFn/Args.adoc[`Args`] 
| `Args` is an alias for the list of arguments passed to an invocation of this member function wrapper, expressed as a `bslmf&lowbar;Typelist`&period;
| xref:BloombergLP/bdlf/MemFn/ObjectType.adoc[`ObjectType`] 
| `ObjectType` is an alias for the class type to which the member function that is wrapped belongs&period;
| xref:BloombergLP/bdlf/MemFn/ProtoType-0c.adoc[`ProtoType`] 
| `ProtoType` is an alias for the parameterized `PROTOTYPE` passed as a template argument to this wrapper&period;
| xref:BloombergLP/bdlf/MemFn/Prototype-0f.adoc[`Prototype`] 
| `ProtoType` is an alias for the parameterized `PROTOTYPE` passed as a template argument to this wrapper&period;
| xref:BloombergLP/bdlf/MemFn/ResultType.adoc[`ResultType`] 
| `ResultType` is an alias for the type of the object returned by an invocation of this member function wrapper&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlf/MemFn/2constructor-04.adoc[`MemFn`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlf/MemFn/operator_call-0a5.adoc[`operator()`] 
| Function call operators
|===



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