Subclause [thread.stoptoken] describes components that can be used
to asynchronously request that an operation stops execution in a timely manner,
typically because the result is no longer required.
Callbacks registered via an object
whose type models stoppable-callback-for
are called when a stop request is first made
by any associated stoppable-source object.
An object of type inplace_stop_source
is the sole owner of its stop state.
An object of type inplace_stop_token or
of a specialization of the class template inplace_stop_callback
does not participate in ownership of its associated stop state.