An array of reusable types.
More...
#include <vector.h>
Public Member Functions |
| array_reuse (unsigned count) |
| Create private heap of reusable objects of specified type.
|
T * | create (void) |
| Create a typed object from the heap.
|
T * | create (timeout_t timeout) |
| Create a typed object from the heap.
|
T * | get (void) |
| Get a typed object from the heap.
|
T * | get (timeout_t timeout) |
| Get a typed object from the heap.
|
| operator bool () |
| Test if typed objects available in heap or re-use list.
|
| operator T * () |
| Get a typed object from the heap by type casting reference.
|
bool | operator! () |
| Test if the entire heap has been allocated.
|
T * | operator* () |
| Get a typed object from the heap by pointer reference.
|
void | release (T *object) |
| Release (return) a typed object back to the heap for re-use.
|
T * | request (void) |
| Request immediately next available typed object from the heap.
|
Detailed Description
template<class T>
class ucommon::array_reuse< T >
An array of reusable types.
A pool of typed objects is created which can be allocated as needed. Deallocated typed objects are returned to the pool so they can be reallocated later. This is a private fixed size heap.
- Author:
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 488 of file vector.h.
Constructor & Destructor Documentation
Create private heap of reusable objects of specified type.
- Parameters:
-
count | of objects of specified type to allocate. |
Definition at line 495 of file vector.h.
Member Function Documentation
Create a typed object from the heap.
This function blocks when the heap is empty until an object is returned to the heap.
- Returns:
- typed object pointer from heap.
Definition at line 532 of file vector.h.
Create a typed object from the heap.
This function blocks until the the heap has an object to return or the timer has expired.
- Parameters:
-
timeout | to wait for heap in milliseconds. |
- Returns:
- typed object pointer from heap or NULL if timeout.
Definition at line 550 of file vector.h.
Get a typed object from the heap.
This function blocks when the heap is empty until an object is returned to the heap.
- Returns:
- typed object pointer from heap.
Reimplemented from ucommon::ArrayReuse.
Definition at line 524 of file vector.h.
Get a typed object from the heap.
This function blocks until the the heap has an object to return or the timer has expired.
- Parameters:
-
timeout | to wait for heap in milliseconds. |
- Returns:
- typed object pointer from heap or NULL if timeout.
Reimplemented from ucommon::ArrayReuse.
Definition at line 541 of file vector.h.
Test if typed objects available in heap or re-use list.
- Returns:
- true if objects still are available.
Definition at line 502 of file vector.h.
Get a typed object from the heap by type casting reference.
This function blocks while the heap is empty.
- Returns:
- typed object pointer from heap.
Definition at line 565 of file vector.h.
Test if the entire heap has been allocated.
- Returns:
- true if no objects are available.
Definition at line 509 of file vector.h.
Get a typed object from the heap by pointer reference.
This function blocks while the heap is empty.
- Returns:
- typed object pointer from heap.
Definition at line 573 of file vector.h.
Release (return) a typed object back to the heap for re-use.
- Parameters:
-
Definition at line 557 of file vector.h.
Request immediately next available typed object from the heap.
- Returns:
- typed object pointer or NULL if heap is empty.
Reimplemented from ucommon::ArrayReuse.
Definition at line 516 of file vector.h.
The documentation for this class was generated from the following file: