Namespaces
Variants

std::stop_callback<Callback>:: stop_callback

From cppreference.net
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
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
template < class C >
explicit stop_callback ( const std:: stop_token & st, C && cb ) noexcept ( /*см. ниже*/ ) ;
(1) (начиная с C++20)
template < class C >
explicit stop_callback ( std:: stop_token && st, C && cb ) noexcept ( /*см. ниже*/ ) ;
(2) (начиная с C++20)
stop_callback ( const stop_callback & ) = delete ;
(3) (начиная с C++20)
stop_callback ( stop_callback && ) = delete ;
(4) (начиная с C++20)

Создает новый объект stop_callback , сохраняя и регистрируя функцию обратного вызова cb в связанном состоянии остановки заданного std::stop_token для последующего вызова, если запрашивается остановка на ассоциированном std::stop_source .

1) Создает stop_callback для заданного st std::stop_token (копируется), с заданной вызываемой функцией обратного вызова cb .
2) Создает stop_callback для данного st std::stop_token (перемещенного), с данной вызываемой функцией обратного вызова cb .
3,4) stop_callback не является ни CopyConstructible , ни MoveConstructible .

Оба конструктора участвуют в разрешении перегрузки только если Callback и C удовлетворяют constructible_from для std:: constructible_from < Callback, C > . Если Callback и C удовлетворяют концепту, но не удовлетворяют его семантическим требованиям, поведение не определено.

Параметры

st - объект std::stop_token для регистрации этого stop_callback объекта
cb - тип, вызываемый при запросе остановки

Исключения

1,2)
noexcept спецификация:
noexcept ( std:: is_nothrow_constructible_v < Callback, C > )
Любое исключение, выброшенное при инициализации конструктором заданного колбэка в объект stop_callback .

Примечания

Если для переданного std::stop_token значение st. stop_requested ( ) == true , то функция обратного вызова вызывается в текущем потоке до возврата из конструктора.