|
|
The cref_counter_pool is a singleton class that maintains the counters for all cref_ptr objects. The counters are maintained in a vector. This class is used by cref_ptr and not intended any other purpose.
int32_t new_counter (void *data)
| new_counter |
Create a new counter.
Returns: index associated with counter.
int32_t incr_counter (int32_t index)
| incr_counter |
Increment the count associated with counter by 1.
Parameters:
index | the counter to increment. |
int32_t decr_counter (int32_t index)
| decr_counter |
Decrement the count associated with counter by 1.
Parameters:
index | the counter to decrement. |
int32_t count (int32_t index)
| count |
Get the count associated with counter.
Parameters:
index | of the counter to query. |
Returns: the counter value.
void* data (int32_t index)
| data |
void recycle (int32_t index)
| recycle |
Recycle counter. Places counter on free-list.
Parameters:
index | of the counter to recycle. |
void dump ()
| dump |
Dumps counter info to stdout. Debugging function.
void check ()
| check |
Sanity check internal data structure. Debugging function.
cref_counter_pool& instance ()
| instance |
[static]
Returns: singleton cref_counter_pool.
cref_counter_pool ()
| cref_counter_pool |