[#BloombergLP-bsls-PreconditionsHandler]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bsls.adoc[bsls]::PreconditionsHandler
:relfileprefix: ../../
:mrdocs:

This utility class maintains pointers containing the addresses of functions invoked by the `BSLS&lowbar;PRECONDITIONS&lowbar;BEGIN` and `BSLS&lowbar;PRECONDITIONS&lowbar;END` macros, and provides methods to manipulate and utilize those functions&period;

== Synopsis

Declared in `&lt;bsls&lowbar;preconditions&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class PreconditionsHandler;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsls/PreconditionsHandler/PreconditionHandlerType.adoc[`PreconditionHandlerType`] 
| `PreconditionHandlerType` is an alias for a pointer to a function returning `void` and taking no parameters&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bsls/PreconditionsHandler/getBeginHandler.adoc[`getBeginHandler`] 
| Return the previously installed `s&lowbar;beginHandler`&period;
| xref:BloombergLP/bsls/PreconditionsHandler/getEndHandler.adoc[`getEndHandler`] 
| Return the previously installed `s&lowbar;endHandler`&period;
| xref:BloombergLP/bsls/PreconditionsHandler/installHandlers.adoc[`installHandlers`] 
| Store the specified `beginHandler` and `endHandler` function pointers to the `static` member variables&period;
| xref:BloombergLP/bsls/PreconditionsHandler/invokeBeginHandler.adoc[`invokeBeginHandler`] 
| Invoke the previously installed `s&lowbar;beginHandler` function&period;
| xref:BloombergLP/bsls/PreconditionsHandler/invokeEndHandler.adoc[`invokeEndHandler`] 
| Invoke the previously installed `s&lowbar;endHandler` function&period;
| xref:BloombergLP/bsls/PreconditionsHandler/noOpHandler.adoc[`noOpHandler`] 
| Do nothing&period;
|===



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