Quick Links: |
#include <ball_category.h>
Public Types | |
enum | { e_UNINITIALIZED_CATEGORY = 256, e_DYNAMIC_CATEGORY = 257, BAEL_UNINITIALIZED_CATEGORY = e_UNINITIALIZED_CATEGORY, BAEL_DYNAMIC_CATEGORY = e_DYNAMIC_CATEGORY, UNINITIALIZED_CATEGORY = e_UNINITIALIZED_CATEGORY, DYNAMIC_CATEGORY = e_DYNAMIC_CATEGORY } |
Public Member Functions | |
void | reset () |
void | setCategory (const Category *category) |
void | setThreshold (int threshold) |
void | setNext (CategoryHolder *holder) |
const Category * | category () const |
int | threshold () const |
CategoryHolder * | next () const |
Public Attributes | |
AtomicInt | d_threshold |
AtomicPointer | d_category_p |
AtomicPointer | d_next_p |
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.
This class should not be used directly by client code. It is an implementation detail of the ball
logging system.
anonymous enum |
void ball::CategoryHolder::reset | ( | ) |
Reset this object to its default value. The default value is:
{ e_UNINITIALIZED_CATEGORY, 0, 0 }
void ball::CategoryHolder::setCategory | ( | const Category * | category | ) |
Set the address of the category held by this holder to the specified category
.
void ball::CategoryHolder::setThreshold | ( | int | threshold | ) |
Set the threshold level held by this holder to the specified threshold
.
void ball::CategoryHolder::setNext | ( | CategoryHolder * | holder | ) |
Set this holder to point to the specified holder
.
const Category* ball::CategoryHolder::category | ( | ) | const |
Return the address of the non-modifiable category held by this holder.
int ball::CategoryHolder::threshold | ( | ) | const |
Return the threshold level held by this holder.
CategoryHolder* ball::CategoryHolder::next | ( | ) | const |
Return the address of the modifiable holder held by this holder.
AtomicInt ball::CategoryHolder::d_threshold |
threshold level
AtomicPointer ball::CategoryHolder::d_category_p |
held category (not owned)
AtomicPointer ball::CategoryHolder::d_next_p |
next category holder in linked list