This class, informally referred to as a "category holder" (or simply "holder"), holds a category, a threshold level, and a pointer to a "next" holder. Both the category and next pointer may be null. The intended use is as follows: (1) instances of this class are (only) declared in contexts where logging occurs; (2) if the held category is non-null, then the held threshold is the numerical maximum of the four levels of that category; (3) if the next pointer is non-null, then the holder pointed to holds the same category and threshold. Instances of this class must be statically initializable. Hence, the data members are public, and automatically generated constructors and destructor are used.
Declared in <ball_category.h>
class CategoryHolder;
This class should not be used directly by client code. It is an implementation detail of the ball logging system.
| Name | Description |
|---|---|
Unnamed enum | This enumeration defines distinguished values for category holder threshold levels. Note that these values are intentionally outside the range [0 .. 255]. |
| Name | Description |
|---|---|
category | Return the address of the non-modifiable category held by this holder. |
next | Return the address of the modifiable holder held by this holder. |
reset | Reset this object to its default value. The default value is: ` { e_UNINITIALIZED_CATEGORY, 0, 0 } ` |
setCategory | Set the address of the category held by this holder to the specified category. |
setNext | Set this holder to point to the specified holder. |
setThreshold | Set the threshold level held by this holder to the specified threshold. |
threshold | Return the threshold level held by this holder. |
| Name | Description |
|---|---|
d_category_p | Held category (not owned). |
d_next_p | Next category holder in the linked list. |
d_threshold | Threshold level held by this holder. |
| Name | Description |
|---|---|
ball_log_getCategoryHolder | Return the address of the specified categoryHolder. Note that this function facilitates consistent lookup of block-scope and class-scope category holders (see "Logging Macro Reuse" in the "IMPLEMENTATION NOTES" of the component implementation file for details). |