[#BloombergLP-bslmf-MemberPointerTraits]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::MemberPointerTraits
:relfileprefix: ../../
:mrdocs:

Meta&hyphen;function for detecting traits of pointer&hyphen;to&hyphen;member types&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;memberpointertraits&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
struct MemberPointerTraits
    : &sol;&ast; implementation-defined &ast;&sol;
----

== Description

This metafunction determines the traits of a pointer&hyphen;to&hyphen;member type, including the type of the object that it is a member of, and the type of the member it addresses&period;

This utility `struct` template provides the following nested typedefs&colon;&colon; `ClassType`&colon; The type of the class for which the specified `t&lowbar;TYPE` is&colon; a pointer to member object&period;&colon; `MemberType`&colon; The type of the member object of the class for which the&colon; specified `t&lowbar;TYPE` is a pointer to member object&period; These typedefs will only be defined if `t&lowbar;TYPE` is a pointer&hyphen;to&hyphen;member&hyphen;object type&period; The primary (unspecialized) `MemberPointerTraits&lowbar;Imp` template is defined and empty&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `&sol;&ast; implementation-defined &ast;&sol;`
| Empty
|===


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