BloombergLP::bslstl::StopState

Shared stop state that tracks a stop request and registered callbacks.

Synopsis

Declared in <bslstl_stopstate.h>

class StopState;

Member Functions

NameDescription
StopState [constructor]Create a StopState object that initially has no registered callbacks and on which a stop has not been requested.
deregister If the callback of the specified node is currently executing, wait for it to complete. Otherwise, remove node from the list of nodes registered to this state. The behavior is undefined if this method is called more than once for a given node or if node was not previously registered to this state by a call to enregister that returned true.
enregister If a stop has already been requested, then invoke the callback of the specified node and return false. Otherwise, add node to the list of nodes registered to this state and return true. The behavior is undefined if this method is called more than once for a given node.
requestStop If this StopState object has already had a stop requested, return false. Otherwise, atomically mark this StopState object as having had a stop requested, then execute all registered callbacks in an unspecified order, and finally return true.
stopRequested Return true if a stop has been requested on this StopState object, and false otherwise.

Derived Classes

NameDescription
StopToken_RefCountedState 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).