Component-private StopState with a stop_source reference count.
This component-private struct adds a reference count to the internal StopState class. This reference count represents the number of bsl::stop_source objects that refer to the stop state (NOT the total number of objects that refer to the stop state).
Implementation note: The reference count has been kept outside the StopState object in order to enable StopState to potentially be reused to implement in_place_stop_source (from WG21 proposal P2300R7) without the overhead from the reference count.
| Name | Description |
|---|---|
StopState | Shared stop state that tracks a stop request and registered callbacks. |
| Name | Description |
|---|---|
deregister | Remove node from this stop state, or wait if its callback is executing. |
enregister | Register node with this stop state, or invoke it if a stop was already requested. |
requestStop | Request a stop on this state and invoke all registered callbacks. |
stopRequested | Return true if a stop has been requested on this StopState object, and false otherwise. |
| Name | Description |
|---|---|
d_stopSourceCount | The number of bsl::stop_source objects that refer to this stop state. |