C++ 参考手册

位置:首页 > C++ 参考手册 >线程支持库 > std::stop_callback

定义于头文件 <stop_token>
template< class Callback >
class stop_callback;
(C++20 起)

stop_callback 类模板提供对关联的 std::stop_token 对象注册回调函数的 RAII 对象类型,使得将在 std::stop_token 的关联 std::stop_source 被请求停止时调用回调函数。

在对该 stop_callback 的关联 std::stop_tokenstd::stop_source 成功调用 request_stop() 的同一线程调用经由 stop_callback 构造函数注册的回调函数;或若在构造函数的注册前已请求停止,则在构造 stop_callback 的线程调用回调函数。

能在同一或不同线程同时对同一 std::stop_token 创建多于一个 stop_callback 。不提供对执行它们所用顺序的保证,但将同步调用它们;除了对已对 std::stop_token 请求停止后构造的 stop_callback 如前述。

若调用的回调经由异常退出,则调用 std::terminate

std::stop_callback可复制构造 (CopyConstructible) 可复制赋值 (CopyAssignable) 可移动构造 (MoveConstructible) 亦非可移动赋值 (MoveAssignable)

模板形参 Callback 类型必须为 invocabledestructible 。忽略任何返回值。

成员类型

 
类型 定义
callback_type Callback

成员函数

构造新的 stop_callback 对象
(公开成员函数)
析构 stop_callback 对象
(公开成员函数)
operator=
[被删除]
stop_callback 不可赋值
(公开成员函数)

推导指引

示例

本节未完成
原因:暂无示例