[#BloombergLP-bsltf-TemplateTestFacility]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsltf.adoc[bsltf]::TemplateTestFacility
:relfileprefix: ../../
:mrdocs:

This `struct` provides a namespace that contains three aliases for types intended to be used as template parameters for testing templates&period; The namespace also contain two class method templates, `create` and `getIdentifier`, that respectively provides a consistent interface to (1) create a specified object of a parameterized type from an integer identifier and (2) get the identifier value of a specified object&period; The identifier value returned from the `getIdentifier` method is undefined unless the specified object was originally created with the `create` class method template&period;

== Synopsis

Declared in `&lt;bsltf&lowbar;templatetestfacility&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct TemplateTestFacility;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsltf/TemplateTestFacility/FunctionPtr.adoc[`FunctionPtr`] 
| This `typedef` is an alias for a pointer to a function pointer&period;
| xref:BloombergLP/bsltf/TemplateTestFacility/MethodPtr.adoc[`MethodPtr`] 
| This `typedef` is an alias for a pointer to a method of `TemplateTestFacility&lowbar;StubClass` taking no arguments and returning an `int`&period;
| xref:BloombergLP/bsltf/TemplateTestFacility/ObjectPtr.adoc[`ObjectPtr`] 
| This `typedef` is an alias for a pointer to a `TemplateTestFacility&lowbar;StubClass` object&period;
|===


== Member Functions

[cols="1"]
|===
| Name
| xref:BloombergLP/bsltf/TemplateTestFacility/getIdentifier-0d1a.adoc[`getIdentifier`] 
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsltf/TemplateTestFacility/create.adoc[`create`] 
| Return a new object of the parameterized `TYPE` whose state is unique for the specified `identifier`&period; The behavior is undefined unless `0 &lt;&equals; value &lt; 128` and `TYPE` is contained in the macro `BSLTF&lowbar;TEMPLATETESTFACILITY&lowbar;TEST&lowbar;TYPES&lowbar;ALL`&period;
| xref:BloombergLP/bsltf/TemplateTestFacility/emplace-0421.adoc[`emplace`] 
| `emplace` overloads
| xref:BloombergLP/bsltf/TemplateTestFacility/getIdentifier-0c7.adoc[`getIdentifier`] 
| `getIdentifier` overloads
| xref:BloombergLP/bsltf/TemplateTestFacility/getMovedFromState.adoc[`getMovedFromState`] 
| Return the moved&hyphen;from state of the specified `object, or `e&lowbar;UNKNOWN&apos; if (template parameter) `TYPE` does not support such a query&period;
| xref:BloombergLP/bsltf/TemplateTestFacility/getMovedIntoState.adoc[`getMovedIntoState`] 
| Return the moved&hyphen;into state of the specified `object, or `e&lowbar;UNKNOWN&apos; if (template parameter) `TYPE` does not support such a query&period;
| xref:BloombergLP/bsltf/TemplateTestFacility/setMovedIntoState.adoc[`setMovedIntoState`] 
| Set the moved&hyphen;into state of the specified &apos;object to the specified `value` if (template parameter) `TYPE` does supports move states&period;
|===



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