[#BloombergLP-ball-AttributeContext-initialize]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/AttributeContext.adoc[AttributeContext]::initialize
:relfileprefix: ../../../
:mrdocs:

Initialize the static data members of `AttributeContext` using the specified `categoryManager`&period;

== Synopsis

Declared in `&lt;ball&lowbar;attributecontext&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
void
initialize(
    xref:BloombergLP/ball/CategoryManager.adoc[CategoryManager]* categoryManager,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* globalAllocator = 0);
----

== Description

Initialize the static data members of `AttributeContext` using the specified `categoryManager`&period; Optionally specify a `globalAllocator` used to supply memory&period; If `globalAllocator` is 0, the currently installed global allocator is used&period; Unless `reset` is subsequently called, invoking this method more than once will log an error message using `bsls&colon;&colon;Log&colon;&colon;platformDefaultMessageHandler`, but will have no other effect&period; Note that in practice this method will be called _automatically_ when the `LoggerManager` singleton is initialized &hyphen;&hyphen; i&period;e&period;, it is not intended to be called directly by clients of the `ball` package&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *categoryManager*
| category manager supplying the process rules
| *globalAllocator*
| allocator used to supply memory
|===


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