std::stop_callback<Callback>:: stop_callback

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe Reclamation
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
template < class C >
explicit stop_callback ( const std:: stop_token & st, C && cb ) noexcept ( /*see below*/ ) ;
(1) (since C++20)
template < class C >
explicit stop_callback ( std:: stop_token && st, C && cb ) noexcept ( /*see below*/ ) ;
(2) (since C++20)
stop_callback ( const stop_callback & ) = delete ;
(3) (since C++20)
stop_callback ( stop_callback && ) = delete ;
(4) (since C++20)

Constructs a new stop_callback object, saving and registering the cb callback function into the given std::stop_token 's associated stop-state, for later invocation if stop is requested on the associated std::stop_source .

1) Constructs a stop_callback for the given st std::stop_token (copied), with the given invocable callback function cb .
2) Constructs a stop_callback for the given st std::stop_token (moved), with the given invocable callback function cb .
3,4) stop_callback is neither CopyConstructible nor MoveConstructible .

Both constructors participate overload resolution only if Callback and C satisfy constructible_from of std:: constructible_from < Callback, C > . If Callback and C satisfy the concept but fail to satisfy its semantic requirement, the behavior is undefined.

Parameters

st - a std::stop_token object to register this stop_callback object with
cb - the type to invoke if stop is requested

Exceptions

1,2)
noexcept specification:
noexcept ( std:: is_nothrow_constructible_v < Callback, C > )
Any exception thrown by constructor-initializing the given callback into the stop_callback object.

Notes

If st. stop_requested ( ) == true for the passed-in std::stop_token , then the callback function is invoked in the current thread before the constructor returns.