|
CoreComponents 3.0.0
A Modern C++ Toolkit
|
Waiting for a limited resource. More...
#include <cc/Semaphore>
Public Member Functions | |
| Semaphore (T supply=0) | |
| Create a new semaphore with initial supply of the limited ressource. | |
| void | acquire (T amount=1) |
| Acquire a certain amount of a limited resource. | |
| void | release (T amount=1) |
| Release a certain amount of a limited resource. | |
| T | acquireAll (T minAmount=1) |
| Acquire all items of a limited resource. | |
| T | releaseOnDemand (T maxAmount=std::numeric_limits< T >::max()) |
| Release items of a limited resource on demand. | |
| bool | tryAcquire (T amount=1) |
| Try to acquire a certain amount of a limited resource. | |
| bool | acquireBefore (double time, T amount=1) |
| Try to acquire a certain amount of a limited resource for a limited time. | |
| T | currentSupply () const |
| Current supply of the limited resource. | |
Waiting for a limited resource.
| T | Value type |
| Semaphore | ( | T | supply = 0 | ) |
Create a new semaphore with initial supply of the limited ressource.
| void acquire | ( | T | amount = 1 | ) |
Acquire a certain amount of a limited resource.
| void release | ( | T | amount = 1 | ) |
Release a certain amount of a limited resource.
| T acquireAll | ( | T | minAmount = 1 | ) |
Acquire all items of a limited resource.
| minAmount | Minimum number of items to acquire |
| T releaseOnDemand | ( | T | maxAmount = std::numeric_limits<T>::max() | ) |
Release items of a limited resource on demand.
| maxAmount | Maximum number of items to release |
| bool tryAcquire | ( | T | amount = 1 | ) |
Try to acquire a certain amount of a limited resource.
| amount | Number of items to acquire |
| bool acquireBefore | ( | double | time, |
| T | amount = 1 ) |
Try to acquire a certain amount of a limited resource for a limited time.
| time | Seconds elapsed since the begin of Epoch |
| amount | Number of items to acquire |
| T currentSupply | ( | ) | const |
Current supply of the limited resource.