[#BloombergLP-ball-CategoryManager] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::CategoryManager :relfileprefix: ../../ :mrdocs: This class manages a registry of categories. == Synopsis Declared in `<ball_categorymanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class CategoryManager; ---- == Description This class manages a set (or "registry") of categories. Categories may be added to the registry, but they cannot be removed. However, the threshold levels of existing categories may be accessed and modified directly. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/CategoryManager/CategoryNameFilterCallback.adoc[`CategoryNameFilterCallback`] | `CategoryNameFilterCallback` is the type of the user‐supplied functor that translates external category names to internal names. | xref:BloombergLP/ball/CategoryManager/DefaultThresholdLevelsCallback.adoc[`DefaultThresholdLevelsCallback`] | Functor type that computes default threshold levels for new categories. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/CategoryManager/2constructor-00.adoc[`CategoryManager`] [.small]#[constructor]# | Constructors | xref:BloombergLP/ball/CategoryManager/2destructor.adoc[`~CategoryManager`] [.small]#[destructor]# | Destroy this category manager. | xref:BloombergLP/ball/CategoryManager/addCategory-01.adoc[`addCategory`] | Add a category with the specified name and threshold levels. | xref:BloombergLP/ball/CategoryManager/addCategoryHierarchically.adoc[`addCategoryHierarchically`] | Add a category inheriting thresholds from the longest matching prefix. | xref:BloombergLP/ball/CategoryManager/addDefaultCategory.adoc[`addDefaultCategory`] | Add the default category if it has not already been added. | xref:BloombergLP/ball/CategoryManager/addRule.adoc[`addRule`] | Add the specified rule to the unique rule set of this object. | xref:BloombergLP/ball/CategoryManager/addRules.adoc[`addRules`] | Add each rule in `ruleSet` to the unique rule set of this object. | xref:BloombergLP/ball/CategoryManager/defaultCategory-0c.adoc[`defaultCategory`] | `defaultCategory` overloads | xref:BloombergLP/ball/CategoryManager/defaultPassThresholdLevel.adoc[`defaultPassThresholdLevel`] | Return the default pass threshold level of this object. | xref:BloombergLP/ball/CategoryManager/defaultRecordThresholdLevel.adoc[`defaultRecordThresholdLevel`] | Return the default record threshold level of this object. | xref:BloombergLP/ball/CategoryManager/defaultThresholdLevels.adoc[`defaultThresholdLevels`] | Return the default threshold levels associated with this object. | xref:BloombergLP/ball/CategoryManager/defaultTriggerAllThresholdLevel.adoc[`defaultTriggerAllThresholdLevel`] | Return the default trigger‐all threshold level of this object. | xref:BloombergLP/ball/CategoryManager/defaultTriggerThresholdLevel.adoc[`defaultTriggerThresholdLevel`] | Return the default trigger threshold level of this object. | xref:BloombergLP/ball/CategoryManager/length.adoc[`length`] | Return the number of categories in the registry of this category manager. | xref:BloombergLP/ball/CategoryManager/lookupCategory-06.adoc[`lookupCategory`] | `lookupCategory` overloads | xref:BloombergLP/ball/CategoryManager/maxNumCategories.adoc[`maxNumCategories`] | Return the current capacity of this category registry. | xref:BloombergLP/ball/CategoryManager/operator_subs-0d.adoc[`operator[]`] | Subscript operators | xref:BloombergLP/ball/CategoryManager/removeAllRules.adoc[`removeAllRules`] | Remove every rule from the set of rules maintained by this object. | xref:BloombergLP/ball/CategoryManager/removeRule.adoc[`removeRule`] | Remove the specified rule from the unique rule set of this object. | xref:BloombergLP/ball/CategoryManager/removeRules.adoc[`removeRules`] | Remove each rule in `ruleSet` from the rule set of this object. | xref:BloombergLP/ball/CategoryManager/resetCategoryHolders.adoc[`resetCategoryHolders`] | Reset all linked category holders to their default values. | xref:BloombergLP/ball/CategoryManager/resetDefaultThresholdLevels.adoc[`resetDefaultThresholdLevels`] | Reset the default threshold levels to the original "factory‐supplied" default values or the factory overrides supplied at construction. | xref:BloombergLP/ball/CategoryManager/ruleSet.adoc[`ruleSet`] | Return a const reference to the maintained rule set. | xref:BloombergLP/ball/CategoryManager/ruleSetSequenceNumber.adoc[`ruleSetSequenceNumber`] | Return the sequence number that tracks rule‐set changes. | xref:BloombergLP/ball/CategoryManager/rulesetMutex.adoc[`rulesetMutex`] | Return a reference to the mutex guarding the rule set. | xref:BloombergLP/ball/CategoryManager/setCategory-00.adoc[`setCategory`] | `setCategory` overloads | xref:BloombergLP/ball/CategoryManager/setCategoryThresholdsToCurrentDefaults.adoc[`setCategoryThresholdsToCurrentDefaults`] | Set the specified category's thresholds to the current default values. | xref:BloombergLP/ball/CategoryManager/setCategoryThresholdsToFactoryDefaults.adoc[`setCategoryThresholdsToFactoryDefaults`] | Set the specified category's thresholds to the factory default values. | xref:BloombergLP/ball/CategoryManager/setDefaultThresholdLevels.adoc[`setDefaultThresholdLevels`] | Set the default threshold levels. | xref:BloombergLP/ball/CategoryManager/setDefaultThresholdLevelsCallback.adoc[`setDefaultThresholdLevelsCallback`] | Set or clear the default‐thresholds callback. | xref:BloombergLP/ball/CategoryManager/setMaxNumCategories.adoc[`setMaxNumCategories`] | Set the capacity of this category registry. | xref:BloombergLP/ball/CategoryManager/setThresholdLevels.adoc[`setThresholdLevels`] | Set or create the named category with the specified threshold levels. | xref:BloombergLP/ball/CategoryManager/setThresholdLevelsHierarchically.adoc[`setThresholdLevelsHierarchically`] | Set threshold levels for all categories matching a name prefix. | xref:BloombergLP/ball/CategoryManager/thresholdLevelsForNewCategory.adoc[`thresholdLevelsForNewCategory`] | Load the threshold levels that would apply to a newly created category. | xref:BloombergLP/ball/CategoryManager/visitCategories-0a9.adoc[`visitCategories`] | `visitCategories` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#